侧边栏壁纸
  • 累计撰写 244 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论
隐藏侧边栏

数据结构与算法

kaixindeken
2021-04-17 / 0 评论 / 0 点赞 / 201 阅读 / 857 字

编写更加高性能的代码,不再循环、数组走天下,性能全靠硬件抗。

基础部分

1、先导

复杂度分析与大O表示法

2、线性表结构

数组
链表(单向、双向、循环)

队列
编程技巧:递归

3、排序算法

冒泡
插入
选择
归并
快速

4、查找算法

二分
二分变形(上)
二分变形(下)
二分案例:IP 地址与城市对应
索引1: 稠密索引(数据库索引基础)
索引2: 分块索引(数据库索引基础)
索引3: 倒排索引(搜索引擎索引基础)

5、散列表

概述
散列函数设计与散列冲突处理
哈希算法及其应用(安全加密、唯一标识、数据校验、散列函数、负载均衡、分布式缓存)

6、字符串匹配

BF(简单暴力)
KMP(最知名)
Trie树(多模式匹配算法,适用于构建敏感词过滤系统)

进阶部分

7、二叉树

概念和特性
创建和存储(数组、链表)
遍历(前、中、后序)
二叉排序(查找)树的定义及实现
理想二叉排序树:平衡二叉树(AVL树)的定义和实现
理想二叉排序树:平衡二叉树的构建过程演示
工程二叉排序树:红黑树的定义及算法复杂度
工程二叉排序树:红黑树的动态平衡实现原理分析
二叉树的应用(一):堆和堆的构建
二叉树的应用(二):堆排序及其应用(队列优先级、TopK 排行榜)
二叉树的应用(三):赫夫曼树及其构建
二叉树的应用(四):赫夫曼编码及压缩算法的简单实现

8、图

图是数据结构集大成者,掌握了图就等于掌握了数据结构。

图的各种概念(无向图、有向图、稀疏图、稠密图、连通图等)
图的存储(邻接矩阵、邻接表)
图的遍历(上)—— 深度优先搜索
图的遍历(下)—— 广度优先搜索
最小生成树的定义及应用场景
最小生成树的实现算法之普里姆(Prim)算法
最小生成树的实现算法之克鲁斯卡尔(Kruskal)算法
最短路径及实现算法之迪杰斯特拉(Dijkstra)算法
最短路径及实现算法之弗洛伊德(Floyd)算法
拓扑排序的定义及其应用场景(AOV网)
拓扑排序实现算法及复杂度分析
关键路径的定义及其应用场景(AOE网)
关键路径实现算法及复杂度分析(拓扑排序解决工程可行性问题,关键路径在此基础上解决工程最短工期问题)

注:本系列部分内容参考极客时间算法专栏。

0
博主关闭了当前页面的评论