哈希表:键、碰撞与计数
哈希表先把键映射到有限的桶,再在桶内确认键是否相等。哈希值相同只说明需要进一步比较,不能推出键相同;有限桶接收无限候选键时,碰撞本身无法彻底消除。 ...
哈希表先把键映射到有限的桶,再在桶内确认键是否相等。哈希值相同只说明需要进一步比较,不能推出键相同;有限桶接收无限候选键时,碰撞本身无法彻底消除。 ...
先定义要预测什么 监督学习用带标签的数据学习输入到输出的映射,模型通过损失函数衡量误差。任务定义要同时说明输入、标签、使用场景与错误代价。机器人动作预测和图像分类具有不同约束,不能只比较一个抽象的准确率。 ...
排序把相同数据组织成确定的顺序,选择问题只要求某个名次或一小部分元素。需要前十名时不一定要把一千万条记录全部排序;是否保留原始同分顺序、是否能全部载入内存,也会影响方案。 ...
树的用途来自额外约束。二叉搜索树要求左子树键小于节点、右子树键大于节点;最小堆只要求父节点不大于孩子。搜索树可支持有序查询,堆则擅长反复取当前最小值。把最小堆按数组下标直接打印,并不会得到完整有序序列。 ...
算法分析先回答两个问题:结果是否满足规格,输入变大时需要多少资源。测试能找到错误,证明需要说明所有满足前提的输入。先写清输入类型、允许的范围和空输入约定,再讨论复杂度,能避免把未定义行为当作算法缺陷。 ...
渐近分析说明输入变大时的增长趋势,实测说明某个环境、某组数据与某种实现的表现。两者需要一起使用。一次小输入跑得快,不能证明增长率;理论复杂度相同,也可能因对象分配、局部性和解释器开销产生明显差距。 ...
这条路线把“能解释的算法”推进为“能重复验证的程序”。如果已经熟悉基础节点,可以先读两个综合项目的规格,再按不熟的依赖回查正文;缺少基础时按阶段顺序完成。 ...
算法面试考察的是在约束下建立正确解法的过程。先确认输入、输出、重复含义和规模,再给基线与改进理由,能让讨论围绕可验证的东西展开。知识点正文已经讲过的算法,在这里通过一个原创问题串起思考步骤。 ...
这条路线使用Python训练解题表达与实现,重点是工程基础和常见面试模型。每个节点仍指向系统正文;若某处不能解释清楚,就回到对应概念补推理,再继续练习。 ...
贪心每次选择当前看起来最有利的候选,并且不再撤销。它正确的前提是:至少存在一个最优解能包含当前选择,且剩余部分仍能用同一规则解决。仅凭几个样例“看起来合理”不足以推出这个性质。 ...