数据结构
数据结构中简单的顺序表,链表,以及树等方面知识体系
ice_玖闻于世丶
寻求一份C/C++/iOS 研发offer
展开
-
数据结构—红黑树(BRTree树)的认识
一、红黑树的概念:红黑树:是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。红黑树的性质:(一头一脚黑,黑同红不同)(1)每个结点不是红色就是黑色(2)根节点是黑色的(3)如果一个节点是红色的,则它的两个孩子结点是黑色的(4)对于每个结点,从该结点到其所有后代叶结点的简单路径上,均 包含相同数目的黑色结点(5) 每个叶子结点都是黑色的(原创 2020-07-06 00:16:30 · 386 阅读 · 0 评论 -
AVL树平衡调整与应用解析
一、 AVL树的概念。二、AVL树的操作。三、AVL树的模拟实现。四、AVL树的应用及解析。原创 2020-06-25 00:53:09 · 613 阅读 · 0 评论 -
简易排序算法实现
一.排序介绍。排序概念:排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据...原创 2020-05-11 15:08:59 · 197 阅读 · 0 评论 -
哈希表实现(开散列法解决冲突)
一.哈希概念原创 2020-04-21 15:28:03 · 715 阅读 · 0 评论 -
数据结构—二叉树链式结构的实现
一.二叉树的链式结构。二叉树的链式存储结构是指用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分为二叉链和三叉链,当前我们学习中一般都是二叉链。二.链式结构的实现。1.二叉树管理:节点管理:#define BSTDataType int...原创 2020-04-19 22:06:07 · 761 阅读 · 0 评论 -
数据结构—二叉树的顺序实现(即堆的实现)
一.二叉树介绍1.树:树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。树的基本概念:节点的度:一个节点含有的子树的个...原创 2020-04-18 14:40:04 · 344 阅读 · 0 评论 -
数据结构—浅谈循环队列
一.定义:队列:上一篇博文讲过队列的基本定义以及简单实现。参考地址:https://blog.csdn.net/weixin_42357849/article/details/105469908循环队列:为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队...原创 2020-04-12 21:42:24 · 215 阅读 · 0 评论 -
数据结构—栈、队列的实现
一.栈的介绍。1.栈的定义:栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out) 的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。注意:栈的操作都在栈顶,不管进栈出栈都是在栈顶操作。2...原创 2020-04-12 20:00:07 · 122 阅读 · 0 评论 -
数据结构—链表(单链表和双向循环链表。)
一.链表的简介。1.概念。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。单向、双向带头、不带头循环、非循环虽然有这么多的链表的结构,但是我们实际中最常用还是两种结构:无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。带头双向循环链表:结构最复杂,一般用在单独...原创 2020-04-09 17:54:06 · 295 阅读 · 0 评论 -
数据结构—顺序表(Sqllist)
一、线性表简介。1.线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…2.线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。二、顺序表的概念(一)顺序表概念顺序表是用一段物理地址连续的存储单元...原创 2020-04-08 18:12:59 · 1387 阅读 · 1 评论 -
数据结构—求算法效率的介绍
一、算法效率。算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率 被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要 的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。二、时间效率。(一)定义:(1)时间效率也被称为时间复杂度,它反映的是一个算法所执行时间的快慢,时...原创 2019-11-16 19:50:56 · 2180 阅读 · 0 评论