您可能感兴趣的文章推荐
画解顺序表
画解链表
画解栈
画解队列
画解哈希表
画解二叉树
画解图
画解排序
直接跳到末尾 获取粉丝专属福利。
零、前言
??「 数据结构 」 和 「 算法 」 是密不可分的,两者往往是「 相辅相成 」的存在,所以,在学习 「 数据结构 」 的过程中,不免会遇到各种「 算法 」。
??到底是先学 数据结构 ,还是先学 算法,我认为不必纠结这个问题,一定是一起学的。
??数据结构 常用的操作一般为:「 增 」「 删 」「 改 」「 查 」。基本上所有的数据结构都是围绕这几个操作进行展开的。
??那么这篇文章,作者将主要来聊聊:
「 算法和数据结构 」
??在学习数据结构的过程中,如果你能够自己把图画出来,并且能够描述整个
「 增 」
「 删 」
「 改 」
「 查 」 的过程,那么说明你已经真正理解了数据结构的真谛,来看下下面几张图:
文章目录
- 零、前言
- 一、算法和数据结构的重要性
- 1、为什么要学习算法
- 2、如何有效的学习
- 3、坚持并且把它当成兴趣
- 4、首先要有语言基础
- 5、如何开始学习数据结构
- 6、数据结构和算法是相辅相成的
- 二、数据结构是根基
- 1、数组
- 一、概念
- 1、顺序存储
- 2、存储方式
- 3、长度和容量
- 4、数据结构定义
- 二、常用接口实现
-
- 2、链表
- 一、概念
-
- 二、链表的创建 - 尾插法
-
- 三、链表的创建 - 头插法
-
- 3、哈希表
- 一、哈希表的概念
- 1、查找算法
- 2、哈希表
- 2、哈希数组
- 3、关键字
- 4、哈希函数
- 5、哈希冲突
- 6、哈希地址
- 二、常用哈希函数
- 1、直接定址法
- 2、平方取中法
- 3、折叠法
- 4、除留余数法
- 5、位与法
- 三、常见哈希冲突解决方案
- 1、开放定址法
-
- 2、再散列函数法
-
- 3、链地址法
-
- 4、公共溢出区法
-
- 4、队列
- 一、概念
-
- 二、接口
- 1、数据入队
- 2、数据出队
- 3、清空队列
- 4、获取队首数据
- 5、获取队列元素个数
- 6、队列的判空
- 5、栈
- 一、概念
-
- 二、接口
- 1、数据入栈
- 2、数据出栈
- 3、清空栈
- 1、获取栈顶数据
- 2、获取栈元素个数
- 3、栈的判空
- 🌵7、二叉树
- 🌳8、多叉树
- 🌲9、森林
- 🍀10、树状数组
- 🌍11、图
- 三、四个入门算法
-
- 四、粉丝专属福利
cs