数据结构
qq_32955607
这个作者很懒,什么都没留下…
展开
-
栈和队列
栈特点:仅在表的一端进行插入和删除的线性表。允许插入、删除的一端是栈顶,另一端是栈底。后进先出。顺序栈定义#define MAXSSIZE 100 typedef struct{ datatype data[MAXSSIZE]; int top; /*栈顶指针*/}SeqStack; 基本操作1. 初始化SeqStack *Init_SStack(){ Se...原创 2018-10-22 16:16:32 · 203 阅读 · 0 评论 -
绪论
绪论计算机求解问题问题→抽象出问题的模型→求模型的解数值问题→数学方程非数值问题→数据结构(关系、操作)数据基本结构集合结构:无关系线性结构:一对一树形结构:一对多图形结构:多对多算法特性输入性输出性有限性确定性可行性算法设计的基本要求正确性可读性健壮性高时间效率高空间效率和算法执行时间相关的因素算法选用的策略问题的规模问题的规模...原创 2018-10-21 11:36:07 · 112 阅读 · 0 评论 -
线性表
顺序表特点:用一段地址连续的存储空间来依次顺序存放线性表中的各元素。是一种随机存储结构。定义typedef struct{ datatype data[MAXSIZE]; int len;} SeqList; SeqList L:定义一个顺序表LSeqList *L:定义一个指向SeqList 类型的指针顺序表的基本运算1. 顺序表初始化 Init_SeqLi...原创 2018-10-21 20:29:17 · 199 阅读 · 0 评论 -
串
模式匹配设s和t是给定的两个串,在主串s中找到与串t相等的子串的位置的过程称为模式匹配,串t被称为模式。如果在s中找到等于t的子串,则称匹配成功,模式匹配函数将返回t在s中的第一次出现的存储位置(或序号),否则匹配失败,返回0。1. 简单的模式匹配算法 (BF)最好情况:∑i=1n−m+1pi×(i−1+m)=∑i=1n−m+11n−m+1×(i−1+m)=n+m2\sum_{i=1}^...原创 2018-10-23 22:54:37 · 239 阅读 · 0 评论 -
广义表
定义广义表是n(n>=0)个元素a1, a2, a3, … , an的有限序列,其中ai或者是原子项,或者是一个广义表。通常记作LS = (a1, a2, a3, … , an)。LS是广义表的名字,n为它的长度。若ai是广义表,则称它为LS的子表。若广义表LS(n>=1)非空,则a1是LS的表头,其余元素组成的表(a2, a3, … , an)称为LS的表尾。A=()表A是一...原创 2018-10-24 11:35:43 · 1007 阅读 · 0 评论 -
树
定义n(n≥0)个结点的有限集合。n=0时,称为空树。任意一棵非空树满足以下条件:⑴ 有且仅有一个特定的称为根(root)的结点;⑵ 当n>1时,除根结点之外的其余结点被分成m(m>0)个 互不相交的有限集合 T1, T2, … , Tm,其中 每个集合又是一棵树,并称为该根结点的子树。    &nbsp原创 2018-10-24 20:40:58 · 217 阅读 · 0 评论 -
图
定义图是由有穷非空顶点集合和顶点之间关系——边(或者弧)的集合组成,其形式化定义为:G=(V,E)V={ vi | vi ∈ dataobject}E={ (vi, vj) | vi, vj ∈V 且P(vi, vj) }其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合,集合E中P(vi,vj)表示顶点vi和顶点vj之间有一条直接连线。2.图的基本术语(1)无向边、有向边...原创 2018-11-02 23:24:08 · 179 阅读 · 0 评论