美文网首页
数据结构基础复习笔记(一)

数据结构基础复习笔记(一)

作者: 王啟凡 | 来源:发表于2017-09-21 02:28 被阅读0次

常见数据结构

1.栈

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算(先进后出)。这一端被称为栈顶,把另一端称为栈底。

2. 队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作(先进先出),和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

3. 单项链表

单链表有一个头节点head,指向链表在内存的首地址。链表中的每一个节点的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据)和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链表是用于存放整型数据的动态数组)。链表按此结构对各节点的访问需从链表的头找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需要从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为空,写作为NULL。

单链表更适合插入删除操作多的数据存储,而顺序结构则适合查找操作比较多的数据存储。

静态链表、循环链表、双线链表

4. 二叉树

a.根二叉树(Rooted Binary Tree):
有一个根结点,每个结点至多有两个孩子。
b.满二叉树(Full Binary Tree):
要么是叶子结点(结点的度为0),要么结点同时具有左右子树(结点的度为2)。
c.完全二叉树(Complete Binary Tree):
每层结点都完全填满,在最后一层上如果不是满的,则只缺少右边的若干结点。
d.完美二叉树(Perfect Binary Tree)
所有的非叶子结点都有两个孩子,所有的叶子结点都在同一层。即每层结点都完全填满。
e.无限完全二叉树(Infinite Complete Binary Tree):
每个结点都有两个孩子,结点的层数是无限的。
f.平衡二叉树(Balanced Binary Tree):
也称为AVL树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
注意:仅有前序和后序遍历,不能确定一个二叉树,必须有中序遍历的结果

5. 堆

最大堆的根结点中的元素在整个堆中是最大的;

最小堆的根结点中的元素在整个堆中是最小的。

6. 哈夫曼树

定义:给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。一般用于编码。

7.二叉排序树

a. 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
b. 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
c. 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
左、右子树也分别为二叉排序树;
d. 没有键值相等的节点
二分查找的时间复杂度是O(log(n)),最坏情况下的时间复杂度是O(n)(相当于顺序查找)

相关文章

  • 考研专业课 | 计算机专业基础综合815之严蔚敏《数据结构》考研

    考研计算机专业基础综合815之严蔚敏《数据结构》考研复习重点笔记及考研真题详解 复习笔记【节选自识库学习网,如需转...

  • 数据结构基础复习笔记(一)

    常见数据结构 1.栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运...

  • Redis深度历险笔记

    Redis深度历险笔记 基础与应用 Redis基础数据结构 5种基础数据结构:string、list、hash(字...

  • 关于考试复习及准备的想法

    考试复习的准备: MIT - 线性代数 ~ 笔记本 xuetangx - 数据结构 ~ 笔记本 高数 & 线代 &...

  • 数学学习参考

    1、每天做好2本册子,即复习笔记和错题集。 建议做复习笔记,课前记录自己复习的心得,然后在课上以此笔记作基础补充上...

  • 2018-11-01

    增加淘宝店宝贝 英语趣配音 日常口语对话 课程复习预习整理笔记 练习编程 复习高数线代 复习数据结构 学习c++ ...

  • Clojure 学习笔记 :2 你好,集合

    Clojure 零基础 学习笔记 数据结构 集合 It is better to have 100 functio...

  • 数据结构预备知识

    数据结构预备知识 在进行数据结构讲解时,我们需要把一些基础知识进行复习和巩固,目的是为了方便数据结构的学习,主要涉...

  • 基础复习笔记

    JS类型 原始类型存储的是值,对象类型存储的是地址(指针) JS原始(Primitive)类型 boolean n...

  • 我只能很忙

    很久没有记过笔记了,是我很忙吗? 是的,我很忙。 忙着复习马克思,忙着复习导游基础,忙着复习法律基础知识,忙着喂狗...

网友评论

      本文标题:数据结构基础复习笔记(一)

      本文链接:https://www.haomeiwen.com/subject/mnnosxtx.html