数据结构(一):算法分析讲解

  一、 数据结构与算法概述   1.1数据结构 数据结构是一门研究程序设计中的对象,以及他们的关系及操作的学科,说白了就是把各种数据元素按照一定的关系组织成集合,用来对其组织,存储和操作   1.2算法   算法即解决...

数据结构(二):排序算法讲解

  一、 排序算法概述   日常的程序设计中,排序是很常见的需求,把数据元素按照一定的规则进行排序,比如淘宝上的货品按照上架日期排序,百度的搜索按照最新的内容排序。 二、 冒泡排序   2.1排序原理 比较相邻的元...

数据结构(三):线性表-顺序表,链表讲解

  一、 线性表概述   线性表是最简单的一种的数据结构,由若干相同特征的数据元素组成的有限序列 在线性表中,若A在B元素前面,称A为B的前驱元素,B称为A的后继元素 没有前驱元素的的结点称为线性表的头结点,没有后...

数据结构(三):线性表-栈,队列讲解

  一、 栈概述 栈是将生活中的场景引入计算机中概念,古代的客栈,供旅客休息进出,我们把休息的过程作为数据的存储过程,进出作为数据的增删,于是有了线性表的另一种结构——栈。 栈是一种先进后出(FILO)的数据结构,是...

数据结构(四):符号表讲解

数据结构(四):符号表 一、 符号表概述   符号表是存储键及对应值的数据结构,符号表中存储的元素由键,值和指向下一个值的指针域组成,可通过键查找到对应的值。   符号表中,键必须是唯一的,而值可以不唯一。   日常生活中,根据关键...

数据结构(五):树讲解

  一、 树的概述   树是计算机中应用广泛的一种数据结构,日常生活中常见的图谱,公司组织结构等,都是树结构的数据。   树结构在计算机中是根朝上,叶子结点向下的。如图,它是由N个有限结点组成的具有层次关系的集合。 &nb...

数据结构(六):复杂树之2-3树讲解

  一、 二叉平衡树的时间复杂度   在数据结构(五):树中的二叉查找树中,我们发现当二叉树平衡时,我们查找一个元素需要遍历的层级是log(N+1),按照大O算法可得时间复杂度为logN,这种查找比链表和数组的O(N)算法要...

数据结构(六):复杂树之红黑树讲解

  一、 红黑树概述   红黑树是对2-3树的编码,即用二叉树结点单键单值的形式来表示2-3树,具体措施是对两个结点相连的链接标记颜色。   红链接:将相连的两个2-结点链接起来表示一个3-结点,即我们将3-结点表示为由一条...

数据结构(六):复杂树之B+B-树讲解

  一、 B-树概述   B-树是在2-3树的基础上,一个结点允许多个键(>=3)存在的树状数据结构。 二、 B-树特性 B-树允许一个结点存在>=3个键 一颗M阶的B-树,存在M-1层的树层级...

数据结构(七):堆讲解

  一、 堆的概述   堆是计算机中一种重要的数据结构,它是完全二叉树的数组体现。 二、 堆的特性   2.1、堆是完全二叉树   堆是完全二叉树的数据结构,除了树的最后一层结点不需要是满的,其他各层级从左到右都必须是满...