摘要:
0. 前言 图论作为计算机专业离散数学系列课程的重要一环,在本科时我就上过一学期的课程。研究生刚好碰到机会重新速览了一遍图论,在此做一个笔记,叫做简明索引。简明是因为内容浅尝辄止,只涉及到最基本的概念和最常见的问题,我认为可以看作是算法和数据结构知识的理论导引;索引是因为这里只是概念、问题和解决 阅读全文
摘要:
从循环说起 顺序 , 分支 , 循环 是编程语言的三大逻辑结构,在Python中都得到了支持,而Python更是为循环结构提供了非常便利的语法: 刚从C语言转入Python的同学可能倾向于写索引下标式的循环,例如下面的代码像遍历C中的数组一样遍历了一个Python中的列表: 但如果将列表(list) 阅读全文
摘要:
本篇文章起源于StackOverflow上一个热度非常高的问题: "我该如何判断一个Python列表是否为空?" @Ray Vega (提问者) 举例说明,现在我得到了如下代码: 我如何该检查 是否为空? 面对这个问题,各路高手给出了 不尽相同 的回答。 最高票答案十分简洁: @Patrick (答 阅读全文
摘要:
算法导论第19章 斐波那契堆 可合并(最小)堆 (mergeable min heap) : 支持以下5种操作的一种数据结构, 其中每一个元素都有一个关键字: MAKE HEAP(): 创建和返回一个新的不含任何元素的堆. INSERT(H, x): 将一个已填入关键字的元素x插入堆H中. MINI 阅读全文
摘要:
算法导论第14章 数据结构的扩张 一些工程应用需要的只是标准数据结构, 但也有许多其他的应用需要对现有数据结构进行少许的创新和改造, 但是只在很少情况下需要创造出全新类型的数据结构, 更经常的是通过存储额外信息的方法来扩张一种标准的数据结构, 然后对这种数据结构编写新的操作来支持所需要的应用. 但是 阅读全文