【暑假】基本的数据结构知识点总结梳理

基本的数据结构知识点总结梳理

数据结构:

栈、队列(deque)、链表、树和二叉树、图

算法:

1、  树的遍历pre_order  in_order  post_order :递归完成

2、  根据in_order与另一种遍历构树:pre_order|post_order寻找根节点,in_order判断左右子树,递归处理。

3、  根据BFS与DFS构树:由BFS序列中的位置判断结点关系,顺DFS序列依次为每个结点建立关系。应用栈记录父结点。

4、  DFS求连通块

5、  BFS求最短路:适用于无权图,时间复杂度O(n)

6、  拓扑排序:DFS。可用于判断有向图中是否存在环。

7、  欧拉回路。

例题:

6-2 铁轨:栈的应用+模拟

6-3 矩阵链乘:栈的应用计算简单表达式。

6-4 悲剧文本:链表应用+模拟。细节,初始情况想好。

6-5 移动盒子:双向链表+模拟。【对复杂操作追加标记并对应修改其他操作】

6-6 小球下落:模拟全部->找规律->模拟最后一只球

6-8 树:根据中序遍历与后序遍历构树+DFS。

6-9 天平:巧妙递归、回值

6-10 下落的树叶:根据位置递归。

6-14 BFS寻找路径 + 结点信息dir

6-15 给任务排序:toposort

6-17 看图写树:递归 读入+打印。

6-19 自组合:根据正方形构图+toposort寻找有向图中的环

6-20 理想路径:以t为起点bfs构造层次图+依层次输出最小颜色序号路径

Print_ans:依层次考虑,将当前层次所有边序号最小的结点加入下层次要考虑的序列

时间: 2024-10-29 04:30:41

【暑假】基本的数据结构知识点总结梳理的相关文章

数据结构知识点总结

数据结构知识点总结 内容概要: 基本概念——线性表——栈与队列——树与二叉树——图——查找算法——排序算法 一.        基本概念 1.数据元素是数据的基本单位. 2.数据项是数据不可分割的最小单位. 3.数据结构的 逻辑结构(抽象的,与实现无关) 物理结构(存储结构)  顺序映像(顺序存储结构)位置“相邻” 非顺序映像(链式存储结构)指针表示关系 4.算法特性:算法具有正确性.有穷性,确定性,(可行性).输入,输出 正确性:能按设计要求解决具体问题,并得到正确的结果. 有穷性:任何一条指

架构之路—java开发必学知识点详细梳理

大家好,今天为大家带来了java开发必学的知识点的梳理,希望对小伙伴们在技术成长的道路上有所帮助. 数据库 mysql 1.sql基本语法(数据类型.增删改查.join.函数等). 2.索引(分类,失效条件,explain的使用,优化条件). 3.引擎的对比(InnoDB,MyISAM). 4.事物.隔离级别. 5.数据库的锁(行锁,表锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式). 6.分库分表,主从复制,读写分离. 7.mysql的中间件 mycat nosql red

iOS知识点全梳理-备用

感谢大神分享 文/Jack_lin(简书作者)原文链接:http://www.jianshu.com/p/5d2163640e26著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡.矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性

梳理总结-备份整理-知识点问题梳理

一.javase 1.jdk1.8新特性 搜索速度更快 – 红黑树 行为参数化代码更少 – Lambda 强大的Stream API – Stream 便于并行 – Parallel 最大化减少空指针异常 – Optional 2.JVM结构原理.GC工作机制详解 JVM主要包括四个部分 1.类加载器2.执行引擎3.内存区4.本地方法接口 JVM垃圾检测.回收算法: 1.标记-清除(Mark-sweep)2.复制(Copying)3.标记-整理(Mark-Compact)4.分代收集算法 3.M

数据结构知识点——哈夫曼树

7.哈夫曼树 7.1.哈夫曼树的概述 哈夫曼树,也称最优二叉树,它是n个带权叶子结点构成的所有二叉树中,带权路径长度最小的二叉树. 所谓树的带权路径长度,就是树中所有的叶节点的权值乘上其到根结点的路径长度. 权值越大的结点离根结点越近的二叉树才是最优二叉树. 树的带权路径路径长度(WPL)是从树根到每一结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,

【暑假】[实用数据结构]UVAlive

题目:   Dominating Patterns Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description The archaeologists are going to decipher a very mysterious ``language". Now, they know many language patterns; each patt

数据结构知识点

【暑假】[实用数据结构]UVAlive 3026 Period

UVAlive 3026 Period 题目: Period Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive),

【暑假】[实用数据结构]KMP

KMP算法 KMP算法是字符串匹配算法,可以在O(n)的时间完成,算法包含两部分,分别是:构造适配函数与两串匹配. 失配边的使用大大提高了算法效率,可以理解为已经成功匹配的字符不在重新匹配,因为我们已经知道它是什么,对应到算法中 匹配失败后应该在最大前缀之后继续匹配,因为某后缀已与最大前缀匹配成功而不用重新比较. 以下为代码实现: 1 const int maxn = 1000 + 5; 2 3 void getFail(char* P,int* f){ //构造失配边 4 int n=strl