首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构和算法
今阳
创建于2021-08-24
订阅专栏
收录数据结构和算法系列文章
等 3 人订阅
共14篇文章
创建于2021-08-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构和算法-12-图
1. 从数学意义上说,树是图的一种; 2. 图通常有一个固定的形状,这是由物理或抽象问题所决定的; 3. 顶点:在图中,节点通常叫做顶点; 4. 边:连接顶点的线,叫做边; 5. 邻接:若两个顶点被同一条边连接,就称这两个顶点是邻接的; 6. 路径:边的序列; 7. 连通图:若…
数据结构和算法-11-堆
1. 堆是完全二叉树; 2. 堆常常用一个数组实现; 3. 堆的每个节点的关键字都>=这个节点的子节点的关键字(假设最大的关键字在根节点上,即降序的优先级队列); 1. 堆的节点类 2. 堆的实现类 1. 完全二叉树; 2. 只要求沿着从根到叶子的每一条路径,节点都是有序的; …
数据结构和算法-10-哈希表
1. 提供快速的插入和查找, 插入(有时包括删除)只需要接近常量的时间,即 O(1); 2. 编程实现相对容易; 1. 基于数组,数组创建后难于扩展,某些哈希表被基本填满时,新能下降的非常严重, 所以开发者需要清楚表中将要存储多少数据, 或者准备好定期的将数据转移到更大的哈希表…
数据结构和算法-9-234树
1. 数据项的模型类: 2. 2-3-4树的节点类: 3. 2-3-4树的实现类,代码稍多,其中会有些注释作为说明: 4. 2-3-4树的使用测试:
数据结构和算法-8-红黑树
- 在插入和删除的过程中,要遵顼保持这些颜色的不同排列规则,规则如下: 1. 每个节点不是红就是黑; 2. 根总是黑色的; 3. 若节点是红色,则其子节点必须是黑色,反之到不一定必须为真; 4. 根到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(black heigh…
数据结构和算法-7-二叉树
树:由n(n>=1)个有限节点组成一个具有层次关系的集合,结合了有序数组(查找快)和链表(插入/删除快)的优点,如计算机中的文件系统。 1. 创建一个节点的基类: 2. 创建树的基类: 3. 二叉树的节点类: 4. 二叉树的实现类,代码稍多,其中会有些注释作为说明: 5. 二叉…
数据结构和算法-6-递归
递归不仅是一种算法,也是一种思想,主要是对问题的简化,感觉还是比较重要的,所以这里独立出一篇进行介绍。 1. 调用自身, 为了解决更小的问题; 2. 存在某个足够简单的层次, 这一层次不需要调用自身就可以直接解答,并返回结果; 1. 计算三角数字:三角数字指1,3,6,10,1…
数据结构和算法-5.2-双端链表&双向链表
1. 首先要重新定义一个链结点类,双向链表的链结点需要保存左右两个元素的引用; 2. 双向链表的实现
数据结构和算法-5.1-单链表&有序链表
除非需要频繁的用下标随机访问各个数据,否则很多地方都可以用链表代替数组。 1. 创建一个链结点类 2. 单链表实现类, 其中一些关键的地方都有注释,这里就不再多说了 3. 对单链表实现类的使用 4. 迭代器的使用 5. 之前介绍栈时有提到可以使用链表实现:将ArrayStack…
数据结构和算法-4.2-队列
1. 先创建一个队列的基类 2. 用数组实现队列 3. 对上面队列的使用 1. 队列的每一端都可以插入和删除数据,其元素的逻辑结构仍是线性结构;可以使用双端链表实现,这个在后面介绍链表时会给具体的实现代码,它主要用到四个方法insertLeft(), removeLeft(),…
数据结构和算法-4.1-栈
1. 先创建一个栈的基类 2. 用数组实现栈,后面讲到链表后,也将介绍用链表实现栈 3. 对栈的使用
数据结构和算法-3-排序算法
上一篇介绍了最基本的数据存储结构 -- 数组,既然提到数组就难免要说一下排序了,由于排序是一个比较重要的部分,在一些面试中问到算法基础也经常会问到,而且本篇会介绍8种常见的排序算法,篇幅较大,所以将排序单独分离出来作为一篇文章。 1. 简单选择排序 每一趟从待排序的数据元素中选…
数据结构和算法-2-数组
数组可以说是我们平时应用最广泛的数据存储结构了,而且使用非常简单,非常适合作为介绍数据结构的起步点。 相信每个Android或java开发者都已经非常熟悉了,这里也就不再多说了。 二分查找也称折半查找,是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且…
数据结构和算法-1-综述
之前有读过《Java数据结构和算法》,当时简单的写了一些笔记和实现的实例,现对其进行一个系统的整理,以作为分享和备忘。 1. 什么是数据结构和算法 2. 可以解决哪些问题? 如我们平时的手机电脑等电子产品中的保存的文件是如何进行存储的。使用什么结构,基于哪些算法可以更安全高效,…