数据结构——知识点乱序

♥几种基本操作?        线性表 9种;栈 7种;队列7种;字符串:13种
♥树和图有什么不同? 图连通无回路时候是树        ♥树一定是图,图不一定是树。(√)

♥图的遍历结果不唯一,树的遍历结果唯一
要想唯一,权值得互不相等 要进行限制

♥什么是图:点和边的集合

♥图的遍历有两种:深度优先遍历,广度优先遍历
♥图的存储结构:邻接表;邻接矩阵;十字链表;多重邻接表

♥深度优先:相当于先序遍历(队列)♥广度优先:相当于层次遍历(栈)

♥有优先级时候用:栈(有括号)   ♥    没有优先级:用队   ♥  有匹配时候用:队列

♥线性表是退化的树。特殊的树没有叶。                 ♥求最小生成树算法:普利姆和克鲁斯卡尔

♥树的遍历4种:前序;中序 ;后序 ;层次遍历
♥层次遍历用什么实现:队列;先序遍历:不用递归用栈

♥什么是哈夫曼树(最优二叉树):n个带权叶子结点构成所有二叉树中带权路径之和最短的二叉树。权值路径和最小的二叉树

♥二叉树怎么实现:用贪心算法

♥什么是贪心算法(贪婪法):是指在对问题求解时,总是做出在当前看来是最好选择

♥什么是哈夫曼编码:用哈夫曼算法设计出最优的前缀编码。♥在几个城市间修路

线性表9种:(Linearlist )是n个类型相同的数据元素的有限序列,一对一的关系

♥初,增,删,改,查,取,置空
♥栈:(先进后出)是一端封闭的线性表(7种运算)(递归变成非递归用栈)(栈用来保存数据)
♥pop 进栈    ♥push 出栈

ADT(Abstract(读法:奥伯斯拽科特) Data type(读法:太婆)):抽象数据类型

♥队列(先进先出 读法:Q),图:割ruai破  ,栈:四待特  ,查找:sechi ,排序:扫ting 

♥ 链式结构好在哪里?不用移动大量元素       ♥线性表两头都为空:没有意义

♥二叉树有五种性质,五种形态

♥八叉树度最大为:8,最小是0(为叶)

♥二叉树典型应用:哈夫曼树

♥线性表两个特例:栈和队列

♥什么是查找(search)?关键字与待查找字相对应查找成功(例如:在班级里查找一个人)
♥查找是,根据给定的关键字值,在特定的列表中确定一个其关键字与定值相同的数据元素,并返回该数据元素在列表中确定一个其关键字与给定值相同的数据元素并返回该数据元素在列表中的位置。
♥二分查找:顺序存储;有序排列
♥顺序存储在C语言中用数组实现,链式存储在C语言中用指针实现。

♥分块查找,顺序查找,折半查找

♥监督哨作用:浪费一个存储空间便于查找

♥查找过程中三个分量:查找对象,查找范围,查找结果(两种可能,一种结果)

 ♥二叉排序树:左子树比右子树小         ♥顺序查找:学号按顺序查找,

♥折半查找(比中间那个数大的或者小的,是有序的,顺序存储)

♥分块查找(索引查找)三个班分成块查找

♥检索和查找:一回事,在图书馆叫检索 ♥顺序查找的设置监听哨作用:防止越界

♥设计:devise♥实现:(艾力特姆陪审)implementation

♥排序把无序变有序  ♥目的:便于查找  节省时间

数据表(Data List):待排序的记录的有限集合         ♥关键字:作为排序依据的各记录中的属性域

♥内排序  :计算机内部   外排序 :外部排序               ♥姓氏排序   字典排序    顺序   逆序    无序

♥按关键字递增次序:正序(1,2,3)                      ♥从大到小:逆序         

♥直插排序:打麻将 ♥时间性能,空间性能 ,稳定性

♥希尔排序,交换排序(exchange sort):两两比较,逆序反过来(冒泡排序,快速排序)

♥算法:(英文读法:奥格瑞则慕)算法是规则的有限集合,是为解决问题的一系列操作。
♥算法得五个特性:有限性 确定性 输入 输出 可行性

♥用什么语言描述算法/用什么语言写算法:流程图,高级语言,自然语言,类高级语言,伪码
♥衡量算法好坏:时间复杂度 空间复杂度

♥写算法不能用低级语言                                              ♥输入可以为0;输出不可以为0

♥树的先序遍历描述:根左右,先遍历左子树,再遍历右子树

♥什么是数据结构?(Data Structure死抓客车儿):数据逻辑结构,相互之间存在一种或多种特定关系的元集合
♥常用的几个数据结构是什么:集合(读法:塞特)(最松散), 线性结构(最简单一对一) ,树(tree)(有层次), 图(最复杂) (di ruai ke te  tree 有向图)。

散列法(Hashing)或哈希法:是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。

减少冲突:构造函数,函数便于计算,地址分布均匀。

♥哈希算法得方法:(五个)数字分析法;平方取中法;分段叠加法;除留余数法;伪随机数法(验证码)

拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:

♥每个顶点出现且只出现一次。

♥若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。

♥有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。

拓扑排序的基本思想是以下两点:

1、在有向图中选一个没有前驱的顶点且输出之。

2、从图中删除该顶点何所有以它为尾的弧。

3、 查邻接表中入度为零的顶点,并进栈。

♥先后次序时用拓扑排序。♥例子:排课,比赛进程♥没有权值表示无穷



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值