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

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

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

带权图

什么是权

带权图的最小生成树

普里姆算法,代码示例

最短路径问题

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

弗洛伊德算法,代码示例

稀疏图和稠密图

图的效率

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

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

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

    推荐阅读
  • 读卡器和u盘的区别(读卡器有什么功能)

    读卡器是一种读卡设备,需要配合插入匹配的存储卡使用,包括我们常见的SD卡、TF卡、CF卡等。而U盘全称为闪存盘,是一个闪存介质和数据接口的集成体,存储介质不支持组装拆卸。读卡器和U盘的功能看似差不多,实则偏重的方向不同。U盘是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用。而读卡器有插卡位置,多功能读卡器有多个插卡位置,可插入不同类型的存储卡。

  • 亏损最多的万达广场(下一座万达要来了)

    不过,最近传出一大好消息:万达、龙湖、银泰均有意接管临平大型商业万宝城。据我们独家获悉,万达给的运营方案是最有诚意的,可能性最大。分区后,临平商业确实急需打响更新升级、自卫反击的第一枪了。最近,临平区召开土地推介会,14家开发商代表参会。其中龙湖地产表示非常希望2022年天街能进入临平区。天街若2022年能在临平落定,未来“天街万达银泰余之城”将成为临平商业“四柱”,支撑临平商业的蝶变。

  • 斑秃治疗最快的方法 斑秃治疗最快的方法应吃什么药

    斑秃是一种皮肤病,发病者主要症状表现为掉头发、秃顶,多发于中年男性。艾灸需专业中医医师操作,请勿自行艾灸。适宜于生疮导致的局部脱发,使用时注意配合饮食营养。现代医学治疗由于斑秃的病因不明,个体病患之间也有差异,所以建议去医院进行全面的检查过后采取相应的现代医疗手段,听从医嘱进行治疗,如采取物理疗法、局部疗法、全身疗法等等。

  • 王者荣耀每场排位战力在哪里看(王者荣耀位置战力是什么)

    王者荣耀体验服8月22日大更新,新英雄夏洛特上线测试,之前的曝光新装备/装备调整也加入测试了,也还有很重要的一部分内容荣耀战力相关规则调整,而这部分调整也是很容易让大家困惑的,的比如官方新增了位置战力系统,这个新的战力系统会给玩家带来哪些影响呢?王者荣耀位置战力系统是什么?位置战力设定的计算公式为:位置战力=该位置下历史最高战力前五的英雄,其历史最高战力之和。

  • 鸡蛋炒什么(可以怎么炒呢)

    鸡蛋炒什么青椒炒鸡蛋:青椒口感脆爽,鸡蛋软嫩,是一道简单易做的家常菜。青椒特有的味道和所含的辣椒素有刺激唾液和胃液分泌的作用,能增进食欲、青椒炒鸡蛋是一款家常菜品,主要食材是鸡蛋和青椒,辅料猪油,盐,香醋,大葱等,主要烹饪工艺是炒,黄绿搭配,色彩美观,口味鲜香,营养丰富。

  • 龙骨花放哪里最旺财,你不知道的龙骨花种植小技巧

    龙骨花是市场上比较受欢迎的花,它一年四季都是绿色的,看起来充满活力,具有辟邪招财的功能。此外,龙骨花易于种植,适应性强。入冬后,只要气温下降到10度左右,就应把龙骨花放在室内培养。冬季室外栽培时,龙骨花应均匀地暴露在阳光下。如果想培育出高质量的龙骨花,应该注意严格控制水肥及光照这些因素。

  • 室内如何消毒杀菌(室内怎么消毒杀菌)

    以下内容希望对你有帮助!室内如何消毒杀菌自然通风:定期给室内通风,可以减少室内的有害物质,这是最简单的消毒方法。紫外线灯照射:可以采用紫外线灯照射,大约30-60分钟,消毒效果非常好。

  • 徐医附院入院办理指南 徐医附院医务处

    现在为方便患者,实行“线上线下”入院登记一体化,具体操作如下:一、患者首先需要由接诊医生开具住院证(一)接诊医生在门诊现场开具;(二)若因故不能现场就诊,如您在徐医附院门诊曾就诊或预约挂号,医师可依据您的门诊号或身份证号,开具住院证。电话:85806570;85806260备注:根据疫情防控政策动态调整核酸要求!(二)线下入院预约登记办理方式患者或患者家属可持住院证到入院服务中心进行办理即可。

  • 牛咖斯北京店面(牛咖斯落户泉城)

    济南是牛咖斯自莱芜之后在山东选择的第二个城市,此次工业北路服务中心开业后,牛咖斯济南市英雄山路服务中心也将于2017年5月17日隆重开业。今年1月25日,公司正式登陆新三板。挂牌后,牛咖斯开始了服务中心的布局,以铺设新店为主,2017年,牛咖斯预计在全国开设近百家服务中心,辐射如北京、河北、山东、天津、江苏、上海等12各区域,34个城市。牛咖斯的到来定会为济南高端车的维修保养提供更便捷优质的服务。

  • 经常吃鸡油对身体好不好(经常吃鸡油对身体好不好呢)

    鸡油有什么功效与作用补充营养鸡油里面是含有蛋白质和脂肪等我们身体所需要的营养成分,能够很好的补充身体营养。美颜功效鸡油里面是含有非常丰富的脂肪,可以产生脂肪酸,是有很好的护肤的效果,能够有不错的美颜的效果,但是要注意是不能够多吃。