
数据结构
数据结构
斯立扑
这个作者很懒,什么都没留下…
展开
-
数据结构11
算法的时间复杂度并不能代表算法的实际执行时间,有些时候看似复杂度高的速度反面快。 查找算法: 顺序查找: 对待查找的数据没有要求,时间复杂度: O(n) 二分查找: 对待查找的数据必须有序,时间复杂度: O(logn) 块查找: 是一种数据处理的思想,不是特定的算法,当数据量过多时,可以先把数据进行分块处理,然后再进行查找,例如英语词典。 哈希查找: 数据 经过哈希函数 计算出数据在哈希表中的位置,然后标记,方便之后的查找,它的时间复试度最快能达到:O(1)。 但是该算法有很大局限性,不适合浮点型、字符串型原创 2020-08-18 22:47:28 · 100 阅读 · 0 评论 -
数据结构10
阾接表: 边: 顶点下标 下一条边的地址 顶点: 数据 指向第一条边的指针 图: 由顶点组成的数组 顶点数量cnt 优点:可以节约存储空间,计算入度麻烦。 十字链表: 边: 弧尾下标 弧头下标 指向相同弧尾的下一条边 指向相同弧头的下一条边 顶点: 数据 指向第一条边的指针 指向入度的边 图: 由顶点组成的数组 顶点数量cnt 阾接多重表: 是一种专门存储无向图的一种结构。 边: i,j 两个互相依附的顶点的下标 inext 指向下一个依附i项点的边 jnext 指向下一个依附j项点的边 顶点: 数据 指向原创 2020-08-18 22:46:50 · 134 阅读 · 0 评论 -
数据结构09
平衡二叉树: 前提是有序的二叉树,它的左右子树的高相差不超过1,它的所有的子树也要满足这个要求。 如果一个有序二叉树呈单支状(接近单支),它的效率接近链表,因此只有达到平衡时它的效率才最高。 由于节点的位置受值的影响,因此只能进行调整,而不能强行修改。 二叉树不平衡的基础原因: x y / \ / \ y t1 以为轴向右旋转 z x /原创 2020-08-18 22:45:54 · 186 阅读 · 0 评论 -
数据结构08
作业: 1、把一棵二叉树转换为它的镜像树。 2、输入两棵二叉树A,B,判断B是不是A的子结构(我们约定空树不是任意一个树的子结构)。 ? 3、将一棵有序二叉树转换成一个有序的双向链表。 4、计算出有序二叉树中倒数第K个大的数。 5、判断一个二叉树是否对称。 6、请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 线索二叉树: 链式二叉树中有很多空指针,可以让这些指针指向下一个节点,这样在遍历树时可以不用递归而是使用原创 2020-08-18 22:44:40 · 92 阅读 · 0 评论 -
数据结构07
树型结构: 1、树的基本概念 一种表示层次关系的(一对多)数据结构。 有且仅有一个特定的节点,该节点没有前驱,被称为根节点。 剩余的n个互不相交的子集,其中每个子集也都是一棵树,被称为根节点的子树。 注意:树型结构具有递归性(树中有树)。 2、树的表示方法:倒悬树、嵌套法、凹凸法。 3、树的专业术语: 节点:组成树的基础元素,同时它也是一棵树。 节点的度:该节点子树的数量。 树的度(密度):树中节点的数量。 叶子节点:节点的度为0的节点。 双亲和孩子:节点的子树被称为孩子节点,该节点就是它们的双亲。 兄弟:原创 2020-08-18 22:43:47 · 217 阅读 · 0 评论 -
数据结构06
树型结构: 1、树的基本概念 一种表示层次关系的(一对多)数据结构。 有且仅有一个特定的节点,该节点没有前驱,被称为根节点。 剩余的n个互不相交的子集,其中每个子集也都是一棵树,被称为根节点的子树。 注意:树型结构具有递归性(树中有树)。 2、树的表示方法:倒悬树、嵌套法、凹凸法。 3、树的专业术语: 节点:组成树的基础元素,同时它也是一棵树。 节点的度:该节点子树的数量。 树的度(密度):树中节点的数量。 叶子节点:节点的度为0的节点。 双亲和孩子:节点的子树被称为孩子节点,该节点就是它们的双亲。 兄弟:原创 2020-08-18 22:42:01 · 91 阅读 · 0 评论 -
数据结构05
数组与矩阵: 数组:存储空间连接的表结构。 矩阵:带二维信息的数据,一般使用二维数据来存储矩阵。 特殊矩阵: 上三角形矩阵: [0][1][3][6] [ ][2][4][7] [ ][ ][5][8] [ ][ ][ ][9] 压缩方法:用一维数组进行存储 数组的长度:(n+1)*n/2 对应关系:(j+1)*j/2+i i和j要满足:i<=j 下三角形矩阵 [0][ ][ ][ ] [1][2][ ][ ] [3][4][5][ ] [6][7][8][9] 压缩方法:用一维数组进行存储 数组的长原创 2020-08-18 22:40:56 · 166 阅读 · 1 评论 -
数据结构04
复习: 1、什么是数据结构 是专门研究数据关系和操作的学科,而非是计算方法。 数据结构+算法=程序 2、逻辑结构和物理结构 逻辑结构: 集合:除了同属于一个集合,数据之间没有任何关系。 表:数据之间存在一对一关系。 树:数据之间存在一对多关系。 图:数据之间存在多对多关系。 物理结构: 顺序结构:数据存在在连续的内存中,使用数据的相对位置来表示数据之间的关系。 链式结构:数据分散存储在内存的任何位置,数据项中有一块指针域用来表示数据之间的关系。 逻辑结构和物理结构的对应: 表:顺序 链式 树:链式 顺序 图原创 2020-08-18 22:39:43 · 132 阅读 · 0 评论 -
数据结构03
复习: 1、什么是数据结构 是专门研究数据关系和操作的学科,而非是计算方法。 数据结构+算法=程序 2、逻辑结构和物理结构 逻辑结构: 集合:除了同属于一个集合,数据之间没有任何关系。 表:数据之间存在一对一关系。 树:数据之间存在一对多关系。 图:数据之间存在多对多关系。 物理结构: 顺序结构:数据存在在连续的内存中,使用数据的相对位置来表示数据之间的关系。 链式结构:数据分散存储在内存的任何位置,数据项中有一块指针域用来表示数据之间的关系。 逻辑结构和物理结构的对应: 表:顺序 链式 树:链式 顺序 图原创 2020-08-06 23:05:34 · 90 阅读 · 0 评论 -
数据结构02
链式表: 元素的数据项: 数据域:可以是各种类型的若干个数据项 指针域:指向下一元素 由若干个元素通过指针域连接在一起形成链式表。 不带头节点:第一个元素的数据域存储的就是有效的数据。 插入删除时可以会修改头节点指针,参数需要使用二维指针。 同时需要获取到上一个节点的指针,而头节点没有上一个节点,因此需要额外处理。 List item 带头节点:第一个元素不使用,仅仅是为了用它来指向下一元素。 进入插入、删除操作时会比不带头节点的链表方便。 注意:其它操作要从第二节点开始 功能爱限的表:对表结构的加原创 2020-08-06 23:03:29 · 156 阅读 · 0 评论 -
数据结构01
一、什么是数据结构 1、数据结构的起源 1968年,美国的高纳德教授开设了一门基本算法的课程,开创了数据结构的先河。 数据结构是一门研究数据之间关系和操作的学科,而非是计算方法。 数据结构+算法=程序 沃思凭借这名个论点,获得图灵奖,这句话展示出了程序的本质。 2、数据结构的基本概念 数据:所有能够输入到计算机中去描述事物的符号。 数据项:有独立含义的数据最小单位,也叫域。 数据元素:数据的基本单位也叫节点、记录。 数据结构:数据元素和数据关系的集合。 算法:数据结构所具备的功能,解决特定的问题的方法。 3原创 2020-08-06 22:58:22 · 122 阅读 · 0 评论