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

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

时间: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算法,算法并代码示例

带权图

什么是权

带权图的最小生成树

普里姆算法,代码示例

最短路径问题

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

弗洛伊德算法,代码示例

稀疏图和稠密图

图的效率

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

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

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

    推荐阅读
  • 谦虚的态度和心态(是为了做不谦虚的事)

    春秋时期,孔子和他的学生们周游列国,宣传他们的政治主张。一天,他们驾车去晋国。孔子一看,是用碎石瓦片摆的一座城。孔子觉得这孩子很懂得礼貌,便问:“你叫什么?几岁啦?”孔子对学生们说:“项橐7岁懂礼,他可以做我的老师啊!”孔子用这个故事告诉人们他有多谦虚。

  • 中国太原煤炭交易中心地址在哪 太原煤炭交易中心电话号码

    中国太原煤炭交易中心地址:山西省太原市长风西街6号线路一:太原站步行至五一商厦站,乘坐619路,在长风桥西站下车,步行至中国太原煤炭交易中心。步行至机场航站楼站,乘坐201路,在太榆路长风街口站下车,步行至长风街建设南路口站,乘坐619路,在长风桥西站下车,步行至中国太原煤炭交易中心,全程21.2公里,打车费用约31元。

  • 苹果xr和xs区别(懂手机的人会买iPhoneXR而不是iPhone)

    实际上手一周iPhoneXR之后我懂了!优点虽然是廉价版的iPhone,但是iPhoneXR的核心性能没有缩水。良好的散热和强劲的续航能力是iPhoneXR的另一大核心优势。虽然三款iPhone的整体信号能力都不能让人满意,但是经过技术网站实测之后发现虽然采用双天线的设计,但是iPhoneXR的信号表现是三者中最好的,而且还支持了双卡双待。不过虽然iPhoneXR的边框宽度比其他两款iPhone要宽了很多,但是由于是四边等宽的设计,边框不会觉得特别难受,完全可以接受。

  • 霸王别姬歌词(霸王别姬歌曲介绍)

    下面希望有你要的答案,我们一起来看看吧!《霸王别姬》是中国内地歌手屠洪刚1996年发行的单曲,歌曲由陈涛作词,冯晓泉作曲,薛瑞光编曲,最早收录在屠洪刚1996年1月3日发行的EP《霸王别姬》中,后收录于屠洪刚1997年12月发行的专辑《中国功夫》中。歌曲日后也成为屠洪刚的代表作品。

  • 何炅的综艺节目哪些好看(没想到歌手歌王之夜这么假)

    只不过疫情的意外发生,还是让湖南卫视原本早已烂熟于心的剧情套路,如今看来多了许多穿帮的痕迹。根据两人嗓音的风格,林俊杰在歌曲的主导部分,萧敬腾负责烘托感情。奇袭歌手第一趴,用突围赛第一名干掉了国外友人米希亚。主歌部分许魏洲的死亡摇滚嘶吼和吉克隽逸同台对飙相得益彰,唱功赢了马思唯,英语口语赢了彭磊,不赢不存在的。进入决赛圈,吉克隽逸、袁娅维、萧敬腾主动自爆。

  • 易经杂说五行对应方位(西游记中的五行)

    子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪。精子比喻石猴,是另外喻意,因为,精子是人体最基本的物质,携带着宇宙所有能量,是先天真乙之气,又名『水中金』,因为精子只占精液的10%,因此比喻『水中金』。石猴为何惊扰玉皇而玉皇没有管理石猴?以上讲述人体精子生成过程和与心性关系,下面论述生成精子与脏腑的关系以及它活动状态和范围。

  • 蒸肥肠的家常做法(如何做蒸肥肠)

    焯过水的肥肠,姜备用加入姜粒,花椒粒,搅拌成粉末,今天小编就来说说关于蒸肥肠的家常做法?下面更多详细答案一起来看看吧!加入姜粒,花椒粒,搅拌成粉末。放入少许油,姜沫,花椒粉,豆瓣酱炒匀,备用。把炒过的料和肥肠和红薯拌匀,上锅蒸。撒入葱花,芹菜即可。一定要先把肥肠煮一下,用料酒,香料焯水哈。

  • 设置微信置顶语方法 这样设置微信置顶语

    1、打开微信,点击进入后点击进入其中;2、进入后点击上方的加号进行添加;3、可以自由地编辑文字写一些好的句子;4、编辑完之后点击右上方的选项点击置顶聊天;5、所有准备工作做完之后即可在聊天页面之上看到自己之前编辑的文字。

  • 泰拉瑞亚魔法书武器盘点(泰拉瑞亚水箭魔法书攻略)

    泰拉瑞亚魔法书武器盘点泰拉瑞亚水箭魔法书是魔法党四大神器之一,是一个很凶残的东西哦。那么今天笨手机小编就为大家带来的就是泰拉瑞亚水箭魔法书的属性详解,希望对大家有所帮助~!反弹的特性将其的伤害提高了一个阶级。在小范围的场地内有很大的效果,用来攻击大型的移动速度快的敌人也有奇效,完全可以用到地狱。想要了解更多关于泰拉瑞亚攻略最新信息,请继续关注笨手机泰拉瑞亚游戏专区。

  • 梦见鸡蛋孵出小鸡是什么意思(梦见孵出小鸡的意思)

    下面希望有你要的答案,我们一起来看看吧!梦见鸡蛋孵出小鸡是什么意思打算出门的人梦见鸡蛋孵出小鸡,建议遇雨延后几天出发。准备考试的人梦见鸡蛋孵出小鸡,意味着可望录取,但不能太大意或自信。创业的人梦见鸡蛋孵出小鸡,代表基础找好再开业,否则困难重重不得财利。谈婚论嫁的人梦见鸡蛋孵出小鸡,说明双方个性保守因执,宜互相了解。