查看“2012级--讨论记录 (第二学期)”的源代码
←
2012级--讨论记录 (第二学期)
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=2013年3月1日= [[媒体文件:讨论记录-第二学期-2班-第1次.pdf|[课件下载]]] <ol> <li> 计算问题与算法。 <ul> <li>计算问题:input + output + their relationship。</li> <li>算法:well-defined computational procedure for achieving an input-output relationship。</li> </ul> </li> <li> 好算法。 <ul> <li>要素:正确性、高效性、易实现性。</li> <li>设计流程:思路-->过程-->正确性-->效率。</li> </ul> </li> <li> 算法的正确性分析。 <ul> <li>partially correct:基于checkpoint和invariant。</li> <li>totally correct:partially correct + termination。</li> </ul> </li> <li> 算法的效率分析。 <ul> <li>RAM的要素:数据类型、数据存储方式;指令类型、指令执行方式。</li> <li>running time的计算:cost*times;best/worst/average case。</li> </ul> </li> <li> 算法效率的渐进表示法。 <ul> <li>Theta, O和Omega的含义:基于集合;基于极限。</li> <li>Theta vs. O:用O避免分情况讨论。</li> <li>O vs. o:基于集合;基于极限。</li> <li>渐进表示法的比喻:大小关系;相似的性质,但无trichotomy。</li> </ul> </li> </ol> =2013年3月8日= [[媒体文件:讨论记录-第二学期-2班-第2次.pdf|[课件下载]]] <ol> <li>加法和乘法原理的应用:识别元素;识别不相交的集合。</li> <li> 列表、置换和子集。 <ul> <li>列表:本质是函数。</li> <li>置换:本质是双射函数。</li> <li>k-元素置换:本质是列表。</li> <li>k-元素子集:也可以看作函数。</li> </ul> </li> <li>双射在counting中的作用:元素个数不变,但更容易计算。</li> <li>等价关系在counting中的作用:等价类大小相同时,可以做除法。</li> </ol> =2013年3月15日= [[媒体文件:讨论记录-第二学期-2班-第3次.pdf|[课件下载]]] <ol> <li> maximum-subarray problem。 <ul> <li>divide、conquer和combine在这个算法中分别如何体现。</li> <li>找max-crossing-subarray的方式与brute-force不同,从而节约操作。</li> <li>运行时间的递归表示。</li> <li>利用recursion tree来猜测运行时间的渐进表示法。</li> <li>利用substitution或master theorem来证明。</li> </ul> </li> <li> substitution证明的一些细节。 <ul> <li>为低阶项保留余量。</li> <li>恰当运用替换。</li> </ul> </li> <li> recursion tree。 <ul> <li>作用:猜测运行时间;直接证明运行时间。</li> <li>构建的步骤:中间节点;叶子节点;每层的和;层数;总合。</li> </ul> </li> </ol> =2013年3月22日= [[媒体文件:讨论记录-第二学期-2班-第4次.pdf|[课件下载]]] <ol> <li> induction, recursion, recurrences。 <ul> <li>induction、recursion和recurrences的两两关系。</li> <li>well-ordering principle和induction的关系:反证法+well-ordering principle=induction。</li> <li>top-down比bottom-up的优势:思路更直接;不用证明构建的完备性;base case更直接。</li> </ul> </li> <li> first-order constant coefficient linear recurrence。 <ul> <li>结论的来源:通过递推展开来猜测。</li> <li>结论的证明:数学归纳法。</li> </ul> </li> <li>the master theorem的证明:基于递归树的时间复杂度分析。</li> </ol> =2013年3月29日= [[媒体文件:讨论记录-第二学期-2班-第5次.pdf|[课件下载]]] <ol> <li> probability。 <ul> <li>从集合的角度理解sample space, element, event。</li> <li>区分probability weight和probability,并基于probability weight理解probability distribution function的三个条件。</li> <li>uniform probability distribution的意义:probability-->counting。</li> </ul> </li> <li>the principle of inclusion and exclusion:基于Venn图解释公式。</li> <li> conditional probability。 <ul> <li>基于Venn图解释conditional probability和独立性。</li> <li>independent trials process和tree diagram。</li> </ul> </li> <li>random variable:理解random variable, expected value, additivity of expectation。</li> </ol> =2013年4月7日= [[媒体文件:讨论记录-第二学期-2班-第6次.pdf|[课件下载]]] <ol> <li>indicator random variable:原理与应用。</li> <li> 随机化。 <ul> <li>expected running time vs. average-case running time:随机算法 vs. 一般算法的所有输入。</li> <li>随机数生成方法:计算方法;物理方法。</li> <li>数组随机排序方法:permute-by-sorting;randomize-in-place。</li> </ul> </li> <li>计算expected running time的方法:定义;indicator random variable;线性性质;条件期望。</li> <li> probability distributions and variance。 <ul> <li>distribution function vs. cumulative distribution function:点和区间。</li> <li>variance及其来源。</li> </ul> </li> </ol> =2013年4月12日= [[媒体文件:讨论记录-第二学期-2班-第7次.pdf|[课件下载]]] <ol> <li>快速排序。 <ul> <li>正确性证明:loop invariant;递归程序正确性的归纳证明。</li> <li>运行时间:worst-case;best-case;average-case。</li> <li>随机化的快速排序:随机化的意义;期望运行时间。</li> </ul> </li> <li>线性时间排序算法。 <ul> <li>基于比较的排序:运行时间的下界。</li> <li>counting sort:stable;从左往右扫描的改法;对输入的要求及缺点。</li> <li>radix sort:从高位开始排序的改法;分解的灵活性;对输入的要求。</li> <li>bucket sort:最优运行时间。</li> </ul> </li> <li>选择问题:找最大、最小元;随机化的选择算法;确定性的选择算法。</li> </ol> =2013年4月19日= [[媒体文件:讨论记录-第二学期-2班-第8次.pdf|[课件下载]]] <ol> <li>dynamic set:含义;基本操作。</li> <li>linked list。 <ul> <li>支持的操作:search, insert, delete。</li> <li>insert/delete的抽象实现。</li> <li>基于数组的具体实现:多数组;单数组。</li> <li>dynamic set操作的实现。</li> </ul> </li> <li>stack。 <ul> <li>支持的操作:test-empty, push, pop。</li> <li>具体实现:基于数组;基于链表。</li> <li>dynamic set操作的实现。</li> </ul> </li> <li>queue。 <ul> <li>支持的操作:test-empty, enqueue, dequeue。</li> <li>具体实现:基于数组;基于链表。</li> <li>dynamic set操作的实现。</li> </ul> </li> <li>rooted tree。 <ul> <li>与linked list的异同。</li> <li>left-child, right-sibling representation的抽象实现。</li> <li>dynamic set操作的实现。</li> </ul> </li> <li>allocating and freeing objects。 <ul> <li>意义。</li> <li>free list的本质:基于linked list实现的stack。</li> <li>service several linked lists with a single linked list的优缺点。</li> </ul> </li> </ol> =2013年4月26日= [[媒体文件:讨论记录-第二学期-2班-第9次.pdf|[课件下载]]] <ol> <li>heap、heapsort、priority queue:各算法的作用、基本原理、正确性证明、运行时间。</li> <li>分层抽象。 <ul> <li>priority queue <-- heap <-- array。</li> <li>tree <-- binary tree <-- array。</li> <li>优缺点:更简单的正确性证明 vs. 更复杂的运行时间分析。</li> </ul> </li> <li>tree的前序、中序、后序遍历。</li> <li>其它ADT:union-find;dictionary。</li> <li>single-linkage agglomerative clustering。 <ul> <li>最终hierarchy的保存:binary out-tree。</li> <li>hierarchy的计算过程:priority queue (+ dictionary)。</li> <li>计算过程的监控:union-find。</li> </ul> </li> </ol>
返回至
2012级--讨论记录 (第二学期)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息