算法导论学习
不为睡而坐的哥
这个作者很懒,什么都没留下…
展开
-
《算法导论》笔记——第2章 算法入门
第2章 算法入门插入排序:对数组A进行插入排序 Insertion-sort(A) 1 for j<--2 to length[A] 2 do key <-- A[j] //<--代表赋值 3 *Insert A[j] into the sorted原创 2019-03-02 11:14:26 · 148 阅读 · 0 评论 -
《算法导论》笔记——第3章 函数的增长
第3章 函数的增长原创 2019-03-03 16:18:43 · 249 阅读 · 0 评论 -
《算法导论》笔记——第4章 递归式
第四章原创 2019-03-03 16:19:26 · 672 阅读 · 0 评论 -
《算法导论》笔记——第5章 概率分析和随机算法
第5章 概率分析和随机算法指示器随机变量在样本空间S={H,T},H代表正面朝上,T代表反面朝上,定义一个随机变量Y,取值H,T的概率各为1/2。接下来定义指示器随机变量X(H),它对应于硬币正面朝上的情况即事件H。这个变量计算抛硬币时正面朝上的次数,如果正面朝上则其值为1,否则为0:X(H) = I(Y=H) = {1 如果H发生;0 如果T发生}E[X(H)] = E[I(Y=H)] ...原创 2019-03-03 16:20:27 · 233 阅读 · 0 评论 -
《算法导论》笔记——第6章 堆排序
第6章 堆排序本章主要介绍了堆的基本知识和几个基本操作过程堆(二叉)堆数据结构是一种数组对象,它可以被看作是一棵完全二叉树。heap—size[A]即堆的大小是已知的,树的根结点是A[1],某个i结点,它的父结点PARENT(i)为,左儿子LEFT(i)和右儿子RIGHT(i)的下标可以简单地计算出来:PARENT(i) :return ⌊i / 2⌋LEFT(i) :return 2i...原创 2019-03-09 09:34:06 · 191 阅读 · 0 评论 -
《算法导论》笔记——第7章 快速排序
第7章 快速排序像合并排序一样,快速排序也是基于分治模式的。下面对一个典型的子数组A[p…r]排序的分治过程的三个步骤:分解:数组A[p…r]被划分成两个(可能空)的子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个元素都小于等于A[q],A[q+1…r]中的每个元素都大于等于A[q],下标q也是在划分过程不断计算的。解决:通过递归调用快速排序,对子数组A[p…q-1]和...原创 2019-03-09 09:34:37 · 135 阅读 · 0 评论