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

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

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

带权图

什么是权

带权图的最小生成树

普里姆算法,代码示例

最短路径问题

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

弗洛伊德算法,代码示例

稀疏图和稠密图

图的效率

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

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

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

    推荐阅读
  • realme新机曝光感人配置成亮点(三张图看懂realme发布会)

    今天realme召开新品发布会,一共发布了三款手机,真我Q5i、真我Q5、以及真我Q5Pro,三款机器都非常值得购买,下面带大家三张图看懂真我Q5系列。真我Q5有三个版本6GB128GB售价1299元,8GB128GB售价1499元,8GB256GB售价1699元。

  • 多肉上盆后多久浇第一次水(多肉上盆后多久浇第一次水最好)

    但若种的喜干的品种,并且是潮土上盆,那么在种植后的15天左右浇第一次水即可。

  • 三才五格什么是三才五格(三才五格是什么意思)

    三才是指五格中的天格、人格、地格,而五格则是天格、人格、地格、外格和总格,我来为大家科普一下关于三才五格什么是三才五格?天格为五格之一,是姓氏格,因姓氏来源于祖先,古人将先人、君主比作天,故有关姓氏的数理称为天格。天格对人格有相当密切的关系及影响力。天格代表双亲、长上、事业、名誉;单独化表其本人之气质,女性依附丈夫生活,又有代表丈夫吉凶之暗灵作用。

  • 双子座运势最好的哪一年(双子座的性格天生的财运)

    双子座的性格天生的财运文|山岸和十田图|来源于网络双子座是好奇心旺盛的类型很有行动力,经常追求刺激那样的双子座富有金钱的秘诀是什么?这篇文章将详细解说双子座(5月21日~6月21日左右出生的人)所拥有的财运、提高财运的要点。

  • 七夕节给老公准备的烛光晚餐(为心爱的她做一顿烛光晚餐吧)

    一年一度的七夕,在不知不觉中又要来临了。每到七夕,你会给另一半准备怎样的惊喜和浪漫呢?这时候就需要一台超大吸力驱除油烟的集成灶了,让下厨再无油烟,七夕相约可以更甜蜜。浪漫七夕为心爱的她下厨固然温馨,但是厨房厨具的安全问题也至关重要哦~潮邦集成灶多重安全防护,重重防护升级保障,由内而外,层层防护,放心使用,尽情烹饪!

  • 向喜欢的女生表白都有哪些方法(追女生切记没有把握别表白)

    表白是为了关系能进一步发展,不会表白的可以套用下面这几个方式。提问一本正经撩你有男朋友吗?吃饭的时候可以问“你有男朋友吗?”礼物如果收了,请吃饭也出来。这时候表白成功率90%。追到女生,这两个态度决定结果态度很重要。遇到自爱的女生,立马会分手。排除其他原因,你俩结婚有80%几率。和他在一起后,相处也是一样的。

  • 阴阳师犬神详细攻略(阴阳师新版犬神解析)

    复仇后犬神附加目标敌人30%的攻击力,直到犬神下回合行动结束,最多能累加犬神基础攻击力的210%。每次斩击造成犬神攻击92%的伤害,对同一敌人再次造成伤害时,伤害一次降低50%。而且针女流的犬神即使面对单个的敌人,技能的基础伤害被降低了50%,也可以依靠针女的效果造成不俗的伤害。而且骰子鬼的反击可以增加50%的伤害,这配合犬神通过守护吸收的攻击力,可以打出更高额的伤害。

  • 注册头条号头像上传是自动裁剪吗(今日头条号头像怎么换)

    下面希望有你要的答案,我们一起来看看吧!注册头条号头像上传是自动裁剪吗注册头条号头像上传需要先裁剪好再换头像。头像只能够在网页设置,因此第一步就是打开网页浏览器,进入头条官网。在网站上右上角有个“产品”,点击一下。在产品菜单选择“x”号,就会进入作者管理页面了。点击左侧的账户信息进行设置。然后在头像旁边有个“上传”,点击一下。在弹出的菜单上面选择一张自己喜欢的的图片,点击右下角的“打开”即可。

  • 生姜羊肉粥怎么做好吃(生姜羊肉粥怎么做好吃窍门)

    今天我会对此做一个专门的介绍,把生姜羊肉粥的具体做法写出来,你们学会以后也就知道生姜羊肉粥怎么做好吃了。生姜羊肉粥的做法生姜羊肉粥怎么做好吃生姜羊肉粥的材料平时在家中煮制生姜羊肉粥时,需要准备羊肉一百克,准备的羊肉要鲜嫩,不能带羊油。

  • 鲜花应该怎么保鲜(教你7个鲜花保鲜方法)

    02换水夏季的时候两天换一次水,秋冬季节时3天左右换一次水,为了防止水变质,可以在水中放入一点食盐。03摆放位置夏天时候,阳光比较强烈,应该避免阳光的直射,冬季时候最好远离暖气火炉等等,否则会加快花枝的呼吸作用和水分的蒸发,容易造成花朵的过早凋谢。芍药、月季、菊花这类花都比较适用。05浸烫法将花枝底部放到沸水中约十秒钟左右,起到阻塞切口的作用,防止花枝组织中的汁液外溢的作用。可以延长鲜花衰败的时间。