Python数据结构与算法分析(第2版)
作者:[美] 布拉德利·米勒
出版社:北京图灵文化发展有限公司
ISBN:9787115517210
VIP会员免费
(仅需0.8元/天)
¥ 39.0
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
java数据结构与算法之双向循环队列的数组实现方法 评分:
主要介绍了java数据结构与算法之双向循环队列的数组实现方法,结合实例形式分析了双向循环队列的原理与数组实现技巧,并附带说明了该算法的用途,需要的朋友可以参考下
上传时间:2020-09 大小:36KB
- 723B
用数组实现的循环队列(java)
2019-04-09NULL 博文链接:https://128kj.iteye.com/blog/1624362
- 91KB
基于Java数组实现循环队列的两种方法小结
2020-08-28下面小编就为大家分享一篇基于Java数组实现循环队列的两种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
- 1KB
基于双向链表实现双端队列结构算法(java算法源码)
2010-01-15/* * 基于双向链表实现双端队列结构 */ package dsa; public class Deque_DLNode implements Deque { protected DLNode header;//指向头节点(哨兵) protected DLNode trailer;//指向尾节点(哨兵) protected int size;//队列中元素的数目 //构造函数 public Deque_DLNode() { header = new DLNode(); trailer = new DLNode(); header.setNext(trailer); trailer.setPrev(header); size = 0; } //返回队列中元素数目 public int getSize() { return size; } //判断队列是否为空 public boolean isEmpty() { return (0 == size) ? true : false; } //取首元素(但不删除) public Object first() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); return header.getNext().getElem(); } //取末元素(但不删除) public Object last() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); return trailer.getPrev().getElem(); } //在队列前端插入新节点 public void insertFirst(Object obj) { DLNode second = header.getNext(); DLNode first = new DLNode(obj, header, second); second.setPrev(first); header.setNext(first); size++; } //在队列后端插入新节点 public void insertLast(Object obj) { DLNode second = trailer.getPrev(); DLNode first = new DLNode(obj, second, trailer); second.setNext(first); trailer.setPrev(first); size++; } //删除首节点 public Object removeFirst() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); DLNode first = header.getNext(); DLNode second = first.getNext(); Object obj = first.getElem(); header.setNext(second); second.setPrev(header); size--; return(obj); } //删除末节点 public Object removeLast() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); DLNode first = trailer.getPrev(); DLNode second = first.getPrev(); Object obj = first.getElem(); trailer.setPrev(second); second.setNext(trailer); size--; return(obj); } //遍历 public void Traversal() { DLNode p = header.getNext(); while (p != trailer) { System.out.print(p.getElem()+" "); p = p.getNext(); } System.out.println(); } }
- 61KB
java队列实现方法(顺序队列,链式队列,循环队列)
2020-08-28下面小编就为大家分享一篇java队列实现方法(顺序队列,链式队列,循环队列),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
- 1.19MB
一本C++的好书数据结构》(C语言版)的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术;第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。
2009-11-14数据结构》(C语言版)的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术;第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。 《数据结构》(C语言版)的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
- 739KB
数据结构与算法.xmind
2020-06-19数据结构与算法 排序算法 内排序 八大基础排序 选择排序 简单选择排序 思想 每次选择最大的数插入到末尾中 做法 外层for循环控制次数 内层for循环找出最大的值的角...
- 562KB
50个必会的数据结构及算法实现源码
2022-12-14问题:实现一个循环队列 递归 问题:编程实现斐波那契数列求值f(n)=f(n-1)+f(n-2) 问题:编程实现求阶乘n! 排序 问题:实现归并排序、快速排序、插入排序、冒泡排序、选择排序 问题:编程实现O(n)时间复杂度内...
- 59KB
韩顺平java源码-DataStructJava:韩顺平JAVA数据结构与算法,重点是算法!
2021-06-06韩顺平JAVA数据结构与算法、跟着写的代码 当然,附带有测试github的作用 src文件夹才是源码 目录结构 主要目的是学习java的数据结构 重点是算法 list list下有双向链表、单向循环链表约瑟夫问题、单向链表 queue ...
- 25.14MB
数据结构(C语言版)\Java数据结构和算
2012-12-193.4 动态循环队列 3.5 迷宫问题 3.6 表达式求值 3.7 多重栈与多重队列 3.8 补充习题 第4章 链表 4.1 单向链表 4.2 用C语言表示单向链表 4.3 链式栈与链式队列 4.4 多项式 4.5 其它链表操作 4.6 等价类 ...
- 36KB
Algorithms-and-data-structures---Java:自己根据书C语言版算法数据结构和一些资料,用Java实现其中经典的语法和算法结构
2021-04-28算法与数据结构---Java版 根据书C语言版算法数据结构和一些资料,使用面向对象思想和Java语言实现其中经典的语法和算法结构。 按目录分别实现: 01 数组、升序、二分法查找 02 简单排序:冒泡排序、选择排序、插入...
- 590KB
利用C++实现以下经典数据结构算法:线性表、栈、队列、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法)、树.zip
2023-12-28利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。 利用C++实现以下经典数据结构与算法:线性表(顺序表、链表、静态链表、三元组)、栈(双栈、共享栈)、队列(任务调度、循环队列、双向队列、链队列)、数组(特殊矩阵、稀疏矩阵压缩)、串(朴素模式匹配、KMP算法、KMP优化算法)、树(先序遍历、线索二叉树、哈夫曼树等。
- 18KB
Text-compression-using-Huffman-coding:这个java项目使用了二叉搜索树、链表、优先队列等数据结构,并实现了霍夫曼编码算法,实现了46%的最大压缩率。 考虑到大文本文件的代码效率,通过使用 StringBuffer 等类,可以在短短 180 秒内压缩 50mb 大小的文件
2021-07-05文本压缩使用霍夫曼编码 这个java项目使用了二叉搜索树、链表、优先队列等数据结构,并实现了霍夫曼编码算法,实现了46%的最大压缩率。 考虑到大文本文件的代码效率,通过使用 StringBuffer 等类,可以在短短 180 秒内压缩 50mb 大小的文件。
- 53KB
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2020-09-20主要介绍了Python cookbook(数据结构与算法)实现优先级队列的方法,结合实例形式分析了Python中基于给定优先级进行队列元素排序的相关操作技巧,需要的朋友可以参考下
- 24KB
C语言实现数据结构:单链表,循环链表,双向链表;静态顺序队列
2023-10-19C语言实现数据结构:单链表,循环链表,双向链表;静态顺序队列,动态顺序队列,链式队列;静态顺序栈,动态顺序栈,链式栈;二叉树,线索二叉树;排序算
- 688KB
使用纯Java语言写出来的数据结构
2023-06-15使用纯Java语言写出来的数据结构,包含数据结构有 单向链表,双向链表,单向循环链表,双向循环链表,二叉树,队列,栈等, 关于实现的种类有分多种类型,包含有链表或者数组,二叉树里面包含有常见的二叉查找树,...
- 66KB
leetcode题库-algorithm:基于Java和TypeScript的数据结构,LeetCode题解,欢迎star~
2021-06-29基础数据结构:会使用Java和TypeScript实现底层的数据结构,并考虑数据结构中每个操作的时间复杂度 leetcode算法:算法主要会记录在本仓库的issue中,leetcode的每一个分类我都以标签的形式标记出来,欢迎参考 学习...
- 540KB
数据结构:八大数据结构分析.pdf
2022-12-23常⽤的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所⽰: 线性表和⾮线性表 ⼀、线性表 常见的线性表有:数组、队列、栈、链表 线性表是最基本、最简单、也是最常⽤的⼀种数据结构。线性表...
- 20KB
Java单链表源码分析-ds-algos:ds-算法
2021-06-05各种算法和数据结构的实现已经通过动画幻灯片进行了演示和实现。 它涵盖了许多关于算法和数据结构的面试室问题。 问题和解决方案由- 动画幻灯片。 (为了使算法可视化更快) IDE 上的编码算法。 该课程涵盖以下主题 ...
- 37.47MB
突破程序员基本功的16课.part2
2012-06-11第1课 数组与内存控制 1.1 数组初始化 1.1.1 Java数组是静态的 1.1.2 数组一定要初始化吗 1.1.3 基本类型数组的初始化 1.1.4 引用类型数组的初始化 1.2 使用数组 1.2.1 数组元素就是变量 1.2.2 没有多维...
- 40.92MB
javalruleetcode-DataStructure-Java:用于Bule杯和leetcode解决方案的DataStructure-J
2021-06-29数据结构 变种 相关题目 讲解文章 顺序线性表:向量 单链表 1. 双向链表2. 静态链表3. 对称矩阵4. 稀疏矩阵 哈希表 1. 散列函数2. 解决碰撞/填充因子 栈和队列 1. 广义栈2. 双端队列 队列 1. 链表实现2. 循环数组...
- 8.70MB
2005-2009软件设计师历年真题
2010-05-18• 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 • Hash(存储地址计算,冲突处理) ...
- 535.74MB
STM32CubeMX安装包(版本:6.9.0) 附带 Java安装包(版本:371) - -2023年7月14日
2023-07-13本资源包含:6.9.0版本的CubeMX安装包 以及 必要的Java环境安装包,具体的安装方法可在我的主页查看CubeMX安装教程篇章。
- 16.39MB
基于spring boot的小区物业管理系统源码+论文+答辩ppt
2023-03-12小区物业管理系统是在Java + MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统,因为它的体积小但速度快,成本低,或者开源受到中小型网站的青睐。因此,Java + MySQL作为一个成熟的开发环境,可以满足小区物业管理系统设计和开发所需的稳定性,安全性和可扩展性要求。系统管理也都将通过计算机进行整体智能化操作,对于小区物业管理系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、用户管理、员工管理、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理、部门信息管理,用户;首页、个人中心、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理,员工;首页、个人中心、楼房信息管理、报修信息管理、投诉编号管理、公告信息管理、部门信息管理等功能
- 164.91MB
最新Java JDK 8安装版(Windows 64位)
2021-02-26资源内容直接来自官网,没有添加任何其它额外内容;旨在便捷地获取最新版的Java API(避免因地域原因被限制访问,因网络原因无法稳定有效下载等情况)
- 37.77MB
自主研发的软著申请代码文档整理输出工具
2022-03-20可在软著申请时使用的代码文档整理输出工具,可选择多个特定目录,设置多类型文件,指定选择生成代码文档,可操作性很好,并且在生成word代码文档时,过滤了所有空白行和注释,过滤的注释类型涵盖mysql、java、php、python、js、html、node、vue等所有大类语言。 软件环境:win10、win7、win8、win xp 更新日志: 2022年6月1日:更新了动态进度展示,无响应超时等bug,修复了文档行数超过3500行的bug 2022年4月15日 对exe文件进行了兼容性和常见问题解决办法的更新。 2022年4月17日 增加了win7、win8、winxp低版本的兼容版本 2022年4月29日 增加了asci编码的解决方法,更新了exe的兼容性,增加了最新的0.6版本
- 17.92MB
毕业设计-基于JAVA的springboot超市进销存系统(源代码+论文)
2023-05-01本超市进销存系统以springboot作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 商品信息管理、采购信息管理、入库信息管理、出库信息管理、销售订单管理、部门管理、岗位管理等功能,通过这些功能的实现基本能够满足日常超市进销存管理的操作。 通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括:首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 商品信息管理、采购信息管理、入库信息管理、出库信息管理、销售订单管理、部门管理、岗位管理等功能。 本系统提供给管理员对首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 商品信息管理、采购信息管理、入库信息管理、出库信息管理、销售订单管理、部门管理、岗位管理等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证,为管理员操作提高了效率,也使其数据安全性得到了保障。
- 15.89MB
Java 面经手册·小傅哥.pdf
2021-01-26这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、斐波那契(Fibonacci)散列法还有黄金分割点的使用等等。 适合人群 1. 具备一定编程基础,工作1-3年的研发人员 2. 想阅读 Java 核心源码,但总感觉看不懂的 3. 看了太多理论,但没有实践验证的 4. 求职面试,总被面试题搞的死去活来的
- 8.97MB
apache-maven-3.9.6版本安装包
2024-04-22apache-maven-3.9.6版本安装包,适用于 Mac 操作系统,内部包含 apache-maven-3.9.6-bin.tar.gz 和 安装步骤,解压即可使用!