数据结构
文章平均质量分 86
vamesary
这个作者很懒,什么都没留下…
展开
-
数据结构 链表
在程序设计中,我们常常使用数组描述线性表,但是很多时候我们并不知道线性表的长度,除此之外数组在不断删除之后,数组的某些元素是无用的而占据着空间,因此我们尝试动态申请空间,当需要时申请空间,当不需要时将其删除,这就是链表。在链表描述的线性表中,元素在内存中的存储位置是随机的。每个元素都有一个明确的指针指向线性表的下一个位置,下面通过java来讲讲链表的构建和操作。原创 2017-03-04 12:48:03 · 319 阅读 · 0 评论 -
数据结构 栈
栈是一种特殊的线性表,其插入(也称为入栈或压栈)和删除(也称出栈或弹栈)操作都在表的同一端进行。这一端称为栈顶,另一端称为栈底。简言之就是先进后出的数据结构,就因为栈具有这个特征,栈在程序设计中的运用很多,例如递归调用就是压栈和出栈的过程。下面分别以java使用数组和链表描述栈结构。原创 2017-03-08 13:31:57 · 243 阅读 · 0 评论 -
数据结构 排序
作为一个程序员,经常用到排序算法。学习数据结构也是从排序算法开始,楼主就讲我学习8种排序算法心得,仅供参考,如有不当请谅解。原创 2017-03-01 10:34:40 · 480 阅读 · 0 评论 -
数据结构 堆
堆是常使用的优先级队列,可以分为大根堆和小根堆,其中每一次从大根堆(小根堆)取出的元素都是最大(最小)的,下面是java构建大根堆的示例。原创 2017-03-05 14:08:11 · 385 阅读 · 0 评论 -
数据结构 树、二叉树、完全二叉树
树是我们常用的数据结构,如堆、二叉搜索树、B树等,它们都有自己的特点,使得我们在程序设计中常常使用。下面就说说树的基础知识,树、二叉树和完全二叉树。并用java使用链表描述完全二叉树。原创 2017-03-05 21:06:39 · 1045 阅读 · 0 评论 -
数据结构 队列
队列是一个线性表,其插入和删除分别在表的不同端进行。插入元素的那一端称为队尾,删除元素的那一端称为队首。简言之队列就是一个先进先出的数据结构,是程序设计中常用的数据结构。下面使用java分别封装数组描述和链表描述的队列。原创 2017-03-07 09:13:35 · 342 阅读 · 0 评论 -
数据结构 二叉搜索树
在实际生活中,我们需要字典来查找字词,字典具有能够快速的在一个大的集合内寻找到一个元素的特征。在程序设计中我们也常常需要在一个大的集合中快速找到需要的元素,因此我们引入二叉搜索树,它可以在大小为n的集合中使得查找平均时间为logn,这大大提高了查询的效率。原创 2017-04-15 12:30:38 · 414 阅读 · 0 评论 -
数据结构 图的存储邻接矩阵与邻接链表
图在程序设计中的运用是广泛的,例如地图、网络、物流、交通等。怎样将一个图数字化存储在计算机中,是在程序设计中更好的运用图的基础。下面就说说图的两种常用存储方式邻接矩阵和邻接链表,并使用Java实现。原创 2017-04-08 12:01:09 · 3843 阅读 · 0 评论