- 10个最常用的、最基础数据结构:
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 - 10个最常用的、最基础算法:
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
算法是一个定义良好的计算过程,它将一些值作为输入并产生相应的输出值。简单说,它是将输入转换为输出的一系列计算步骤
复杂度分析是数据结构和算法学习的精髓
思维训练
辩证地思考,多问为什么
-
堆排序可以看成是选择排序的改进,它可以定义为基于比较的排序算法。它将其输入划分为未排序和排序的区域,通过不断消除最小元素并将其移动到排序区域来收缩未排序区域
插入排序算法的空间复杂度是O(1) -
“哈希算法”是一个哈希函数,它使用任意长度的字符串,并将其减少为唯一的固定长度字符串。它用于密码有效性、消息和数据完整性以及许多其他加密系统。
-
基数排序又称“桶子法”,是通过比较数字将其分配到不同的“桶里”来排序元素的。它是线性排序算法之一
-
递归算法必须有一个基点;有一个趋向基点的状态变化过程;自我调用