数据结构
文章平均质量分 63
Snail_JR
关注AI、云计算、运维、调度、多云融合、时序数据库、监控领域
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线性表
一、线性表的逻辑结构 线性表是指由类型相同的数据元素组成的有限序列。元素a2的前驱为a1,后继为a3.二、线性表的顺序存储结构一般使用数组进行存储,在插入和删除的时候都需要顺移多个元素。特点: 1.顺序存储结构是用一组地址连续的存储单元依次存储线性表的元素 2.顺序存储用元素在存储器中的物理位置相邻来表示元素之间的逻辑关系 3.可随机访问一个元素,是随机原创 2016-03-23 12:48:24 · 516 阅读 · 0 评论 -
图
一、图的定义和术语1、完全图:当有n个顶点,e条边时,e=n*(n-1)/2时为完全图2、有向完全图、稀疏图、稠密图3、度:与顶点相连的边的数目。也有入度、出度4、连通图:任意两个顶点都相通。5、连通图生成树:连通图的极小连通子图生成的树。任意增加一边都会出现回路6、强连通:在有向图中任意两个顶点相通 二、图的存储1、邻接矩阵 一般采用二维数组进行存储原创 2016-03-23 12:48:44 · 385 阅读 · 0 评论 -
数组和广义表
一、数组数组是一组类型相同的数据元素构成。有一维数组、二维数组、n维数组。一般实现时,可以重载操作符,比较方便一点。 二、矩阵1、矩阵的加减,需要两个矩阵拥有相同的行列数才可以。对应各个位置分别进行计算2、矩阵的相乘,需要第一个阵的列数等于第二个的行数。如C(0,0)=A的第一列分别乘以B的第一行相加的结果。3、特殊矩阵 三对角矩阵、三角矩阵(上三角、下三角原创 2016-03-23 12:48:41 · 478 阅读 · 0 评论 -
树和二叉树
一、树的概念1、树的特征为有一个特定的根节点,它只有后继没有前驱2、结点的度:结点拥有的子树的数目3、树的度:树中结点度的最大值4、祖先结点:从根到该结点所经过的所有结点5、二、二叉树1、二叉树有左右之分,次序不能颠倒,是有序树。2、任何一颗二叉树,若有A个0度节点,B个2度节点,则A=B+1 三、二叉树的存储1、顺序存储 对每个节点进行原创 2016-03-23 12:48:39 · 434 阅读 · 0 评论 -
排序
一、概述根据排序所涉及的存储器,可分为内部排序和外部排序。内部排序是将待排序的数据元素全部存入计算机内存进行排序。外部是待排序的数据元素不全部装入内存,在排序过程中需要不断访问外存。内部排序有:插入排序、交换排序、选择排序、归并排序 二、插入排序是一种简单排序,复杂度为O(n2)。就是一个一个比较,找到对应的位置就插进去 三、希尔排序先将整个待排记录序列分割为若干子原创 2016-03-23 12:48:36 · 415 阅读 · 0 评论 -
查找
一、查找的基本概念 1、查找就是查找某个特定的元素是否在查找表中,或者查那个元素的属性,或者忘查找表中进行插入或者删除操作。仅仅查的话就是静态查找,进行增删操作的就是动态查找 二、静态查找有三种方法。一种是顺序查找。 一种是有序查找,即使用二分法 一种分块查找:也叫索引顺序查找。就是增加一个索引表,里面的每个元素代表查找表中的一个范围。每个元素包含两个域,一个说明那原创 2016-03-23 12:48:34 · 489 阅读 · 0 评论 -
数组和广义表
一、数组数组是一组类型相同的数据元素构成。有一维数组、二维数组、n维数组。一般实现时,可以重载操作符,比较方便一点。 二、矩阵1、矩阵的加减,需要两个矩阵拥有相同的行列数才可以。对应各个位置分别进行计算2、矩阵的相乘,需要第一个阵的列数等于第二个的行数。如C(0,0)=A的第一列分别乘以B的第一行相加的结果。3、特殊矩阵 三对角矩阵、三角矩阵(上三角、下三角原创 2016-03-23 12:48:31 · 611 阅读 · 0 评论 -
串-KMP算法
一、串 1、串是由0个或者多个字符构成的有限序列 2、字典序:定义字符串的大小也称为字典序。 (1)若两个串长度为m,n。m>n,则m串大于n串 (2)若m=n,当两串,第一个不同的字符,哪个大的哪个串就大二、串的存储 1、顺序存储 定长存储串,放在数组中进行操作。当溢出了后会自动截断 2、堆分配存储表示:动态存储字符原创 2016-03-23 12:48:29 · 545 阅读 · 0 评论 -
栈和队列
栈和队列都是特殊的线性表,但是是操作受限制的线性表一、栈(LIFO结构) 1、顺序栈: 用数组进行存储。利用数组是否为空进行栈为空的判断。有的时候有多个栈同时存在的情况,如果没有给足够大的空间的话就会导致栈溢出。一般解决方法是定义一个足够大的栈空间,此存储空间的连段分别设为两个栈的栈底,两个栈的栈顶都想中间伸展,直到两栈顶相遇才溢出。 一般有多个栈,最好还是原创 2016-03-23 12:48:26 · 418 阅读 · 0 评论 -
AVL树
首先获取要输入的每个元素,再依次插入二叉平衡树中。插入: 1、判断二叉树的根节点是否为空。非空则进行初始化 2、空的话,首先检查要插入的数字是否已经存在。存在则退出,否则进行插入 1、数字小于根的值,往左子树插 1、再用本函数递归,根节点为左子树。 2、成功插入之后,进行平衡因子检查。 1、当前根因子原创 2016-03-23 12:48:46 · 356 阅读 · 0 评论
分享