-
插入排序实战
-
插入排序的实现
-
插入排序的效率
-
平均情况
-
一个实例
第7、8章探讨几种数据结构,包括散列表、栈和队列,展示它们对代码速度和可读性的影响,并学会用其解决实际问题。
第7章 查找迅速的散列表
-
探索散列表
-
用散列函数来做散列
-
一个好玩又赚钱的同义词典
-
处理冲突
-
找到平衡
-
一个实例
第8章 用t栈和队列来构造灵巧的代码
-
栈
-
栈实战
-
队列
-
队列实战
-
总结
-
递归
-
用递归代替循环
-
基准情形
-
阅读递归代码
-
计算机眼中的递归
-
递归实战
第9章介绍递归,计算机科学中的核心概念。我们会对其进行分解,考察它在某些问题上的利用价值。
第9章 递归
-
分区
-
快速排序
-
快速排序的效率
-
最坏情况
-
快速选择
第10章运用递归来实现一些飞快的算法,例如快速排序和快速选择,提升大家的算法开发能力。
第10章 飞快的递归算法
-
分区
-
快速排序
-
快速排序的效率
-
最坏情况
-
快速选择
第11~13章探索基于结点的数据结构,包括链表、二叉树和图,并展示它们在各种应用中的完美表现。
第11章 基于结点的数据结构
-
链表
-
实现一个链表
-
读取
-
查找
-
插入
-
删除
-
链表实战
-
双向链表
第12章 让—切操作都更快的二叉树
-
二叉树
-
查找
-
插入
-
删除
-
二叉树实战
第13章 连接万物的图
-
图
-
广度优先搜索
-
图数据库
-
加权圈
-
Dijkstra算法
第14章,介绍空间复杂度。当程序运行环境的内存空间不多,或处理的数据量很大时,理解空间复杂度便显得特别重要。
第14章 对付空间限制
- 描述空间复杂度的大O记法
最后
编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。