数据结构
你可拉倒吧
已经不在csdn 不在写垃圾文章了 以前的大家看着玩吧
展开
-
数据结构入门(一)目录
大概的学习路径 这是一个学长和我说的 修行在个人1.0 初级数组链表栈队列循环队列2.0 中级AVL树红黑树Hash树B树B + 树Tire树2-3树个人之见解,记住原理就可以,有时间调试通一遍代码,整个口诀啥的就很ok 了...原创 2018-04-15 21:14:16 · 619 阅读 · 0 评论 -
数据结构之B树
1.0 简介1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树, 它是一种平衡的多叉树,称为B树(或B-树、B_树)。一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:1、根结点至少有两个子女;2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j &l...原创 2018-05-08 17:03:48 · 816 阅读 · 0 评论 -
数据结构之Tire树
1.0 简介也叫字典树又称单词查找树 是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。...原创 2018-05-08 17:01:04 · 1716 阅读 · 0 评论 -
数据结构之Hash树
1.0 简介也叫散列树 散列树 选择从2开始的连续质数来建立一个十层的哈希树。第一层结点为根结点,根结点下有2个结点;第二层的每个结点下有3个结点;依此类推,即每层结点的子节点数目为连续的质数。...原创 2018-05-08 16:58:41 · 8680 阅读 · 0 评论 -
数据结构之二叉树(四)红黑树
1.0 简介红黑树(Red Black Tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。原创 2018-05-08 16:56:09 · 207 阅读 · 0 评论 -
数据结构之二叉树(三) AVL树
1.0 简介AVL树 在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。...原创 2018-05-08 16:54:47 · 456 阅读 · 0 评论 -
数据结构之二叉树的基本介绍(一)
1.0 二叉树的特点每个节点最多有两个子树二叉树是有序的原创 2018-05-08 16:52:42 · 2713 阅读 · 0 评论 -
数据结构之数和二叉树(一)
1.0 重点知识树的遍历二叉树的性质二叉树和树的存储表示二叉树的遍历及算法实现树与二叉树之间的转换哈夫曼树及其应用2.0 树的定义树是n (n>0)个结点的有限集合 n = 0 就是空树了 树有一下几个条件.有且仅有有个根结点除了跟结点外 其余结点呗分成了 n 个互不相交的子树3.0 一些基本术语结点 树中的数据元素节点的度 ...原创 2018-05-08 16:50:21 · 310 阅读 · 0 评论 -
数据结构之2-3 树
1.0 什么是2-3树2-3 树是具有如下性质的树对于每一个结点 他有1 或者2 个关键码那么什么时候关键码为 1 个呢? 或者说关键码为 1 个的时候有什么性质呢当有一个关键码的时候 这个节点的子树会有两个当这个节点的关键码有 2 个的时候 这个节点的子树是3个他的所有叶子点都在树的同一层除了上面外 他还有一些类似二叉排序树任意节点的左子树的值小于这个节点第一个...原创 2018-05-14 22:32:56 · 5606 阅读 · 3 评论 -
数据结构之队列
一、 队列的顺序存储结构及实现1.0 啥叫队列栈就相当往杯子里放东西,而队列就相当于往管子里放水,只能这头进,那头出队列就是只允许在一段进行插入操作,另一端进行删除操作的线性表2.0 队列的一个问题例如在a[10] 大小的数组中设计队列,那么假设我们入队3个 出队2个也就是 入队顺序 a[0] a[1] a[2] 是有元素的,然后出队顺序是 a[0] a[1] ...原创 2018-05-06 22:33:48 · 163 阅读 · 0 评论 -
数据结构之栈
一、顺序栈1.0 理解栈栈是一种比线性表还要简单的数据结构,因为他就是对线性表的限制后的数据结构即 只允许在线性表的尾部进行插入和删除操作1.1 几个基本概念1.1.1 进栈 压栈 这两个词一个意思,都是往栈中添加元素1.1.2 出栈 弹栈 也是一个意思,就是删除栈顶元素1.1.3 栈的特性后进先出也可以说先进后出,因为只允许在线性表的尾...原创 2018-05-06 22:03:19 · 200 阅读 · 0 评论 -
数据结构之二叉树的实现(二)
1.0 顺序存储结构2.0 二叉链表3.0 三叉链表4.0 线索链表5.0 二叉树的非递归实现伪代码原创 2018-05-11 21:40:32 · 249 阅读 · 0 评论 -
数据结构(c++ ) 线性表(一) 顺序存储的实现
1.0 线性表的顺序存储及实现啥子叫做线性表呢,原来我的理解就是数组,后来才知道这么理解并不准确,但是也差不多吧线性表: 是表 是一种具有相同类型的数据元素的有序序列1.1 线性表的顺序存储结构——–顺序表线性表的顺序存储结构通常用一维数组实现 线性表的序号是从1开始的因为线性表可能会插入数据,所以数组的大小要大于线性表的大小例子#include &l...原创 2018-04-26 23:23:58 · 3308 阅读 · 0 评论 -
数据结构之循环链表
预备知识 单链表1.0循环链表的定义如果把单链表的尾部的next指针有指向空转为指向头结点,那么就构成了循环链表由于找到链表的头部的时间复杂度是O(1) 找到链表尾部的时间复杂度是 O(n) 但是我们对链表的操作一般都是对尾巴和头进行处理的 所以最优解是 不设置头指针,改为设置尾指针rear这样,头节点就是 rear->next 尾节点就是rear 这是大...原创 2018-05-03 19:17:35 · 536 阅读 · 0 评论 -
数据结构之双链表
1.0 可以说算是背景吧因为你用循环链表的话你想找到指针值执向的后继节点很容易,那你要是想找指针所指结点的前一个,那实在是太操蛋了,你还得在找一圈,就想好你在操场上跑步,后面的人给你一脚,本来你可以回头就是一个飞脚,但是不行,你只能快点跑,然后绕一圈跑到他后面才能收拾他,这。。。难受为了避免你难受,双链表就来了。2.0 什么是双链表双链表就是在循环链表的基础上,给每个结点增加前...原创 2018-05-03 23:34:34 · 354 阅读 · 0 评论 -
数据结构(c++ ) 线性表(二)链接存储及其实现
预备知识: 1.0 c++ 2.0 指针 3.0 结构体1.0 单链表1.1 单链表的定义单链表是用一组任意的存储单元来存放线性表的元素。存储单元可以连续,也可以不连续为了正确的表示元素之间的逻辑关系,每个存储单元除了存储元素外 ,还需要存储后继元素的位置,这个地址信息用指针表示,称为指针;这两个元素组成了数据元素的存储映像,称为结点 也就...原创 2018-05-02 22:25:12 · 425 阅读 · 0 评论 -
数据结构之B+树
1.0 简介B+ 树是一种树数据结构,是一个n叉排序树,每个节点通常有多个孩子,一棵B+树包含根节点、内部节点和叶子节点。根节点可能是一个叶子节点,也可能是一个包含两个或两个以上孩子节点的节点。B+ 树通常用于数据库和操作系统的文件系统中。NTFS, ReiserFS, NSS, XFS, JFS, ReFS 和BFS等文件系统都在使用B+树作为元数据索引。B+ 树的特点是...原创 2018-05-08 17:06:01 · 248 阅读 · 0 评论