这篇我们说说堆这种数据结构,其实到这里就暂时把java的数据结构告一段落,感觉说的也差不多了,各种常见的数据结构都说到了,其实还有一种数据结构是“图”,然而暂时对图没啥兴趣,等有兴趣的再说;还有排序算法,emmm....有时间再看看吧! 其实从写数据结构开始到现在让我最大的感触就是:新手刚开始还是不 ...
分类:
编程语言 时间:
2019-05-27 20:42:53
阅读次数:
149
这一篇我们来看看红黑树,首先说一下我啃红黑树的一点想法,刚开始的时候比较蒙,what?这到底是什么鬼啊?还有这种操作?有好久的时间我都缓不过来,直到我玩了两把王者之后回头一看,好像有点儿意思,所以有的时候碰到一个问题困扰了很久可以先让自己的头脑放松一下,哈哈! 不瞎扯咳,开始今天的正题; 前提:看红 ...
分类:
编程语言 时间:
2019-05-10 23:19:18
阅读次数:
159
对于树这个数据结构,第一次看到这个树肯定是一脸蒙逼,玛德,树?种树的那个树么?哈哈哈,当然不是,前面我们说过数组添加、删除数据很慢,查询数据很快;而链表添加、删除数据很快,但是查找数据很慢,我们就想啊,有没有一种数据结构取二者之精华,那不就是一个添加,删除,查询都很快的数据结构吗?那用起来多舒服啊! ...
分类:
编程语言 时间:
2019-05-04 16:18:02
阅读次数:
166
1、链表(Linked List) 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的 ...
分类:
编程语言 时间:
2019-04-13 21:47:45
阅读次数:
179
Java数据结构和算法(三)顺序存储的树结构 二叉树也可以用数组存储,可以和完全二叉树的节点一一对应。 一、树的遍历 每天用心记录一点点。内容也许不重要,但习惯很重要! ...
分类:
编程语言 时间:
2018-12-11 11:24:51
阅读次数:
236
Java数据结构和算法(二)树的基本操作 一、树的遍历 二叉树遍历分为:前序遍历、中序遍历、后序遍历。即父结点的访问顺序 1.1 前序遍历 基本思想:先访问根结点,再先序遍历左子树,最后再先序遍历右子树即根—左—右。图中前序遍历结果是:1,2,4,5,7,8,3,6。 1.2 中序遍历 1.3 后序 ...
分类:
编程语言 时间:
2018-12-11 11:17:10
阅读次数:
220
Java数据结构和算法(一)树 前面讲到的链表、栈和队列都是一对一的线性结构,这节讲一对多的线性结构 树。「一对多」就是指一个元素只能有一个前驱,但可以有多个后继。 一、树 __度(Degree)__ :节点拥有的子树数。树的度是树中各个节点度的最大值。 __节点__ :度为 0 的节点称为叶节点( ...
分类:
编程语言 时间:
2018-12-09 12:18:06
阅读次数:
267
Java数据结构和算法(一) 一、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 __数据结构的基本功能:__ 如何插入一条新的数据项 如何寻 ...
分类:
编程语言 时间:
2018-12-06 22:21:55
阅读次数:
226
目录 (1)数据结构与算法概念解析 (2)数据结构之数组 (3)数据结构之栈 (4)数据结构之队列 (5)数据结构之链表 (6)数据结构之二叉树 (7)数据结构之霍夫曼树 (8)数据结构之红黑树(一)——基础分析 (9)数据结构之红黑树(二)——插入操作 (10)数据结构之红黑树(三)——删除操作 ...
分类:
编程语言 时间:
2018-11-15 21:19:09
阅读次数:
166
常用的八种排序算法 1.直接插入排序 我们经常会到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。如题所示: 直接插入排序(Straight Insert ...
分类:
编程语言 时间:
2018-10-19 00:15:29
阅读次数:
188