数据结构
chensilly8888
求饥若渴,大智若愚。
展开
-
数据结构专题——线性表
一、线性表及其分类(定义部分参考自《大话数据结构》及维基百科)线性表(List / Linear List):零个或多个数据元素的有限序列。线性表的基本操作(涉及算法中方法实现): 线性表初始化; 求线性表长度; 获取元素操作; 查找元素操作; 插入元素操作; 删除元素操作;其他:判断线性表是否为空;清空线性表;线性表可以存储结构特点原创 2015-01-19 15:27:44 · 843 阅读 · 0 评论 -
数据结构专题——队列
一、队列(queue)思想:队列实现的是一种先进先出(first-in,first-out,FIFO)策略。(《算法导论》)定义:队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。(《大话数据结构》)原创 2015-01-22 15:55:38 · 847 阅读 · 0 评论 -
数据结构专题——栈
一、栈(stack)(可与队列对比进行学习)思想:栈实现的是一种后进先出(last-in,first-out,LIFO)策略。(《算法导论》)定义:栈是限定仅在表尾进行插入和删除操作的线性表(具有线性关系/前驱后继关系)。(《大话数据结构》)术语:栈的两端:栈顶(top):允许插入和删除操作的一端。栈底(bottom):不允许插入和删除的一端。(栈特点:栈底是固定的,最先进栈的只能原创 2015-01-21 15:31:39 · 667 阅读 · 0 评论 -
数据结构专题——堆
一、堆(heap)别称:优先队列(priority queue)思想:(参考维基百科:http://zh.wikipedia.org/zh-cn/堆 )在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。定义:(参考维基原创 2015-02-05 16:06:56 · 628 阅读 · 0 评论 -
数据结构专题——树
一、树(Tree)定义(参考维基百科: http://en.wikipedia.org/wiki/Tree_%28data_structure%29):A tree is a (possibly non-linear) data structure made up of nodes or vertices and edges without having any cycle. Th原创 2015-01-22 16:49:19 · 494 阅读 · 0 评论 -
查找专题——二分搜索及其拓展
一、二分查找(折半搜索)(binary search / half-interval search)思想:算法采用分治思想(divide and conquer algorithm),二分查找从表中间开始查找目标元素。如果找到一致元素,则查找成功。如果中间元素比目标元素小,则仍用二分查找方法查找表的后半部分(表是递增排列的),反之中间元素比目标元素大,则查找表的前半部分。输入:查找表必原创 2015-01-24 19:27:31 · 792 阅读 · 0 评论 -
查找(搜索)算法(**Search algorithm**)
(学习资料来源:维基百科,《算法导论》,《大话数据结构》,《编程珠玑》,《编程珠玑续》,google)查找(搜索)算法(Search algorithm)(下面的定义参考自《大话数据结构》) 查找表(Search Table)由同一类型的数据元素(或记录)构成的集合。 关键字(Key) 是数据元素中某个数据项的值,又称为键值,用它可以标识一个数据元素。也可以标志原创 2015-04-17 16:01:02 · 2115 阅读 · 0 评论