博客专栏  >  综合   >  数据结构

数据结构

数据结构作为计算机类方向的基础性必修课程,这个专栏将从零开始讲解数据结构,一点一滴消化苦涩难学的数据结构。

关注
1 已关注
19篇博文
  • 归并排序

    归并:将两个或两个以上的有序表组合成一个新的有序表 2-路 归并排序排序过程 初始序列看成n个有序子序列,每个子序列长度为1 两两合并,得到n/2个长度为2或1的有序子序列 再两两合并,重复直至得到一...

    2016-03-17 18:30
    1110
  • 简单选择排序

    简单选择排序也叫作直接选择排序 基本思想:每一趟在后面n-i+1个中选出关键字最小的记录,作为有序序列的第i个记录(1)设待排序的记录存放在数组r[1…n ]中,第一趟从r[1]开始,通过n-1次比较...

    2016-03-16 21:24
    1630
  • 快速排序

    针对冒泡排序我们进行一次优化,就引进了快速排序在此基础上进行优化基本思想: 任取一个记录(如第一个)作为 枢轴或支点,设其关键字为pivotkey。 在一趟排序后,所有比它小的记录一律前放,比它大的记...

    2016-03-16 20:28
    1302
  • 冒泡排序

    交换排序基本思想:两两比较,如果发生逆序则交换,直到所有记录都排好序为止。两种方法: 起泡排序O(n*n) 快速排序O(nlog2n) 冒泡排序基本思想:每趟不断将记录两两比较,并按“前小后大”规则交...

    2016-03-15 14:26
    1638
  • 插入排序

    基本思想每趟将一个待排序的对象,按其关键码大小,插入到前面已经排序好的一组对象的适当位置 上,直到对象全部插入为止。即边插入边排序,保证子序列中随时都是排好序的插入排序算法的分类直接插入排序折半插入...

    2016-03-14 18:37
    1168
  • 排序

    定义:将一组杂乱无章的数据按一定规律顺次排列起来目的:便于查找内部排序:若待排序都在内存中,则称为内部排序外部排序:若待排序记录一部分在内存,一部分在外存,则称为外部排序。注意:外部排序时,要将数据分...

    2016-03-14 13:30
    1039
  • 平衡二叉树

    前面我写了一篇二叉排序树,最后我们提到提高二叉排序树的查找效率是让二叉树的形状均衡,所以就引入了平衡二叉树。特点: 一种特殊类型的二叉排序树 所有结点的左、右子树深度之差的绝对值≤1 左右子树是平衡二...

    2016-03-13 19:29
    1865
  • 二叉排序树

    二叉排序树又称二叉查找树,它是一种对排序和查找都很有用的特殊二叉树。 定义:(1)若它的左子树不为空,则左子树上的所有结点的值均小于它的根结点的值;(2)若它的右子树不为空,则右子树上所有结点的值均小...

    2016-03-10 12:16
    1543
  • 线性表的查找

    查找基本概念 查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。 线性表的查找在查找表中,线性表查找是最简单的一种,主要的操作为顺序查找和折半查找。顺序查找:从表的一端开始...

    2016-03-09 18:42
    1595
  • 赫夫曼树

    赫夫曼树又称最优树,是一类带权路径长度最短的树。 路径:由一结点到另一结点间的分支所构成路径长度:路径上的分支数目 例如上面的a->e的路径长度=2带权路径长度:结点到根的路径长度与结点上权的乘积树的...

    2016-03-08 21:24
    1651
  • 树、二叉树(二)

    限于篇幅过长上一篇我们只谈了树、二叉树(一)比较基础的认识,下面我们深入的学习树与二叉树。顺序存储结构 使用一组地址(一维数组)连续的存储单元来存储数据元素 //-------二叉树的顺序...

    2016-03-08 17:52
    1250
  • 树与二叉树(一)

    树定义 树是n(n≥0)个结点的有限集,它或为空树(n=0),或为非空树 非空树T满足以下条件:(1) 有且仅有一个称为根的结点;(2)除根结点以外的其余结点可分为m(m>0)个互补相交的有限集T...

    2016-03-05 20:21
    1559
  • 串(String)—–零个或多个字符组成的有限序列 a="beijinghuanyingni" b="beijinghuanying" c="beijin" d="" 子串:串中任意个连续的字符组成...

    2016-03-01 20:26
    1025
  • 小菜一步一步学数据结构之(六)队列

    队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另外一端删除元素。 队列的顺序表示—用一维数组base[M] #define M 100//最大队列长...

    2016-01-26 11:31
    654
  • 小菜一步一步学数据结构之(五)顺序栈

    定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构一对一关系存储结构用顺序栈或链栈存储均可,但以顺序栈更常见 运算规则只能从栈顶运算,且访问结点时依照后进先出(LIFO)或后进后出(FIL...

    2016-01-17 19:38
    861
  • 小菜一步一步学数据结构之(四)单链表

    上一篇博客学习了顺序表,最后也说明了顺序表属于静态存储,数据元素的个数不能自由的扩充。为了解决这个问题我们引入了链表 链表存储结构结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻...

    2016-01-16 15:56
    1021
  • 小菜一步一步学数据结构之(三)线性表的顺序存储结构

    线性表的定义和特点有n(n≥0)个数据特性相同的元素构成的有序序列称为线性表。当个数n(n≥0)定于为线性表的长度,n=0时成为空表。特点: 只有一个首结点和尾结点; 除首尾结点外,其他结点只有一个直...

    2016-01-13 15:34
    804
  • 小菜一步一步学数据结构之(二)算法和算法分析

    一次数学课上,老师让学生练习算数。于是让他们一个小时内算出1+2+3+4+5+6+……+100的得数。全班只有高斯用了不到20分钟给出了答案,因为他想到了用(1+100)+(2+99)+(3+98)…...

    2016-01-12 13:15
    927
  • 小菜一步一步学数据结构之(一)基本概念和术语

    数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。基本概念和术语*数据(data)–所有能输入到计算机中去的描述客观事物的符号的总称 *数据元素(data ele...

    2016-01-11 20:16
    970

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部