肥宅钓鱼网
当前位置: 首页 钓鱼百科

程序员数据结构心法(程序员必备数据结构)

时间:2023-06-13 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

数据结构和算法是每个程序员都应该掌握的技能。特意给大家总结了一份《数据结构和算法的知识大纲》,希望对大家有帮助。更多架构师之路干货文章,已在路上,稍后就到!

数据结构和算法是每个程序员都应该掌握的技能。

特意给大家总结了一份《数据结构和算法的知识大纲》,希望对大家有帮助。

一:内容概述

本知识大纲主要内容包含:

1:数组

有序和无序数组的操作、二分法查找、存放对象、大O表示法

2:栈

线形表、栈、栈的操作、栈的实例、后缀表达式(包括转换和计算)

3:队列

队列、队列的实现、循环队列、双端队列、优先级队列

4:链表

链表、单链表、双端链表、用链表实现栈和队列、有序链表、双向链表

5:递归算法

递归、阶乘、分治算法、斐波那契数列、汉诺塔、背包问题、归并排序

6:排序算法

冒泡、选择、插入法、希尔、快速、基数、对象排序

7:二叉树

二叉树概念和性质、二叉树的实现、哈夫曼编码、哈夫曼树、哈夫曼算法、使用哈夫曼算法来实现压缩和解压的功能

8:红黑树

概念和特征、红黑树的规则和修正、红黑树的旋转、红黑树的实现

9:2-3-4树

概念和规则、2-3-4树的实现、2-3-4树和红黑树的关系和转换规则

10:B树

概念和特性、B树的高度、B树的实现、B树的变形

11:堆

概念和特点、堆的实现、堆排序

12:哈希表

概念和优缺点、Hash函数的构建、冲突解决(开放地址法和链地址法)、Hash化字符串

13:图

概念和基本术语、深度和广度搜索、最小生成树、有向图的拓扑、有向图的连通、Warshall算法、带权图的最小生成树、普里姆算法、最短路径问题、迪杰斯特拉算法、弗洛伊德算法

二:Java数据结构和算法知识大纲

数组

数组是什么

对数组的插入、删除、查找操作

无序数组

重复放值

不重复放值

有序数组

二分法查找

存放对象

大O表示法

简单排序

冒泡排序

选择排序

插入法排序

对象排序

线性表

线性表概念

线性表和数组的关系

什么是栈

栈的基本操作

push:压栈或入栈操作

pop:弹栈或出栈操作

peek:查看栈顶数据,而不弹出数据,也就是不做出栈操作

栈的基本实现

栈的应用实例

字符串倒序

括号(小、中、大)匹配

计算算术表达式

后缀表达式

什么是后缀表达式,也称波兰逆序表达式

如何把中缀表达式转换成后缀表达式

计算后缀表达式求值

栈的效率

队列

什么是队列(Queue)

队列的基本操作

insert:在队尾插入数据

remove:从队头移走数据

peek:查看队头的数据

循环队列

队列的基本实现

队列的效率

双端队列

优先级队列

优先级队列就是数据项按照关键字排好顺序的队列

优先级队列的实现

优先级队列的效率

链表

什么是链表(Linked List)

链表和数组

链表的基本操作

向链表中插入数据

从链表中移走数据

查看链表中所有的数据

查找指定链结点

删除指定链结点

单链表

单链表的基本实现

单链表的效率

双端链表

双端链表是,不仅仅记录着开始结点,同时也记录着结束结点

双端链表的实现

使用链表来实现栈和队列

有序链表

有序链表就是链表中的数据是排好顺序的

有序链表的实现

有序链表的效率

使用有序链表来实现插入排序

双向链表

什么是双向链表

双向链表的实现

递归算法

什么是递归

递归示例:阶乘

理解递归

递归示例:斐波那契数列

汉诺塔(河内塔)问题

背包问题

归并排序

高级排序

希尔排序

快速排序

基数排序

二叉树

树的基本知识

二叉树的概念和理解

二叉树的性质

二叉搜索树

二叉搜索树是什么

二叉搜索树的查找、插入、遍历、查找最大最小值和删除操作

二叉搜索树操作的效率

用数组来表示树

哈夫曼(Huffman)编码

哈夫曼树

什么是哈夫曼树

哈夫曼树的构造方法——Huffman算法

哈夫曼压缩的编码部分的实现步骤

哈夫曼压缩的解码部分的实现步骤

红黑树

平衡与非平衡树

红黑树是什么以及特征

红黑树的规则

红黑树的修正手段

红黑树的旋转

红黑树的插入算法

红黑树的节点删除

红黑树的删除算法

删除步骤后的调整步骤

红黑树的效率

了解其它平衡树:AVL

2-3-4树

多叉树

2-3-4树是什么

2-3-4树的数据组织规则

2-3-4树的搜索算法

2-3-4树的插入算法

2-3-4树的节点删除

2-3-4树和红黑树

2-3-4树转换成红黑树的规则

2-3-4树的效率

B树

B树是什么

回忆磁盘存取数据的知识

B树的特性

B树的高度

B树的搜索算法

B树的插入算法

B树的删除算法

B 树

B 树是什么

B 树和B树的特性差异

B 树的优势

B 树的磁盘读写代价更低

B 树的查询效率更加稳定

B 树支持基于范围的查询

Hash表

Hash表是什么

Hash表的优缺点

什么是Hash化

Hash函数的基本过程

常用的构造Hash函数的方法

直接寻址法

数字分析法

平方取中法

折叠法

随机数法

除留余数法

Hash冲突

Hash冲突的解决

开放地址法

链地址法

设计好的Hash函数

Hash化字符串

Hash化的效率

堆是什么

堆的特点

堆的插入算法

堆的删除算法

堆的查找

堆的效率

堆排序

堆排序的基本思想

堆排序的效率

图(不带权)

图是什么

图的基本术语

在程序中表示图

图的搜索(遍历),算法并代码示例

深度优先

广度优先

最小生成树,算法并代码示例

有向图的拓扑排序,算法并代码示例

有向图的连通性,算法并代码示例

Warshall算法,算法并代码示例

带权图

什么是权

带权图的最小生成树

普里姆算法,代码示例

最短路径问题

迪杰斯特拉算法,代码示例

弗洛伊德算法,代码示例

稀疏图和稠密图

图的效率

可惜头条没法给大家发放资源,先就看看知识大纲吧!

如果你觉得本系列文章还不错,能够给你一些启发和思考的话,请关注、点赞、收藏加转发,让更多的朋友加入到我们的行列,谢谢啦!

更多架构师之路干货文章,已在路上,稍后就到!

    推荐阅读
  • 这才是包子最好吃做法(就馋这锅包子皮软馅香)

    地软可用于炖汤,炒着吃,或者凉拌,最好吃的方法,还是做馅料。地软做成馅料,包成包子吃,口感独特,香味十足,最好吃了。下面来看看具体的做法:3、地软一把,泡软后,多清洗几次,地软里面有沙土,一定要多清洗几遍,彻底把沙土清洗干净。牛肉鲜美、土豆绵软、地软香味独特,三者搭配在一起,就是最美味的包子了。

  • 徐州市2020年市区初中学校招生实施办法

    所有报名经确认后,不得修改。7月4日下午3点,徐州市第三十四中学、徐州市第三十六中学初中部电脑派位招生,公布录取名单。7月20日下午,录取并公布录取名单。公办初中优先安排施教区内学生及其监护人户籍、房产证与实际居住地三者一致的入学。

  • 白条鸡腌制方法和步骤(白条鸡腌制多久能入味)

    2、调料:鸡汤、姜1各50克,鸡粉、丁香各5克,盐、姜泥、蒜泥各10克,红油75克,葱花100克,红尖椒圈20克,盐火局粉100克,葱300克,八角80克,山奈50克,鸡油500克,香油20克,葱油30克。

  • 怎么戴红领巾(红领巾怎么戴)

    以下内容希望对你有帮助!怎么戴红领巾把红领巾铺平,把最长的一边往有顶角的一边对折,一直对折到只留下一个小三角。把红领巾放到脖子上,相互交叉,下面的那条要比上面的那条稍微长一些。然后把长的一边绕过短的一边再绕到里面往下塞进去。抽出拉直,稍微整理一下就好了。

  • 葡萄干吐司的做法 葡萄干吐司的做法 烤箱

    4、发酵好的面团取出排气揉匀。7、三个面团都卷好放入土司盒。

  • 为什么太湖不属于湖州(一座以太湖命名)

    浙江是我国经济最发达的省份之一,也是民富程度最高的省份之一。因此,浙江省也陆续出现了许多备受关注的“网红”城市,比如杭州、宁波、温州等等。不过,说起位于浙江省北部的湖州市,如果没有来过浙江省旅游的人,恐怕就没有那么熟悉了。虽然湖州是“长三角”地区的重要成员之一,也是“环杭州湾大湾区”的核心城市之一,但相对于周边其他热门城市,湖州的“存在感”似乎并没有那么强。

  • 美国大学夏季学期必须要读吗(关于美国大学的学期制度)

    美国大学夏季学期必须要读吗?夏季班提供正规课程,但为选修性质。从申请角度来看,同学们可以根据自己的情况好好利用这个机会体验美国的教育模式,同时,提升自己的学习能力,学术背景和成绩。不管是哪种美国大学学制,一般的学校均以秋季为一学年的起始,虽然有些项目在任何学期都接受入学申请,但是秋季开课会有较多的基础课程可供选择,并且也会为新生举办说明会。此外,大多数奖学金都会针对申请秋季入学的学生。

  • 我的世界花园建造步骤(我的世界空中花园教程)

    今天搞趣网小编为大家带来我的世界空中花园怎么做,下面小编为大家详细讲解我的世界仿古巴比伦空中花园建筑展示,希望对大家有所帮助。由于单机无WE插件,山脉和海洋占时未撸出还有周边建筑如帆船小岛还没建成所以凑合看着吧!

  • 2022初级会计实务新考答案(2022初级会计实务考前训练)

    过去的交易或者事项是指企业在过去的一个时期里购买和销售商品、生产产品、建造某项设备等业务活动,以及其他相关的交易或事项。预期在未来发生的交易或者事项可能产生的结果不能作为资产确认。此题应在交易完成时,即8月15日确认资产。A.出售无形资产收取的价款B.出售固定资产收取的价款C.销售材料收到的价款D.确认的捐赠收入ABD销售材料属于日常活动,符合收入会计要素定义。选项ABD属于非日常活动,不符合收入会计要素定义。

  • 《侠客风云传》杜康村任务奖励一览(侠客风云传杜康村有哪些必做的任务)

    下面带来《侠客风云传》杜康村任务奖励一览,一起来看吧。之后买的3个药,第一个加攻击,第二个加气血,第三个加内力。更多杜康村攻略:《侠客风云传》杜康村玩法技巧分享攻略:点击进入更多相关资讯请关注:侠客风云传专题