笔记
chudongfang2015
开心开心!!!!!!
展开
-
算法导论_第五章_概率分析和随机算法
算法导论_第五章_概率分析和随机算法本章大概介绍了概率论的知识,都是些理论知识和其部分运用。先来介绍一下雇佣问题:假设你要雇佣一个新的办公室助理,雇佣代理每天想你推荐一个应聘者(连续推荐n个),你面试这个人,如果这个应聘者比目前的办公室助理更优秀,你就会辞掉当前的办公室助理,然后聘用这个新的。面试一个人需付给雇佣代理一笔费用,聘用办公助理也需要费用。原创 2016-06-28 16:53:30 · 1519 阅读 · 0 评论 -
[C++ primer] 第13章_拷贝、赋值、销毁 知识总结+代码实现
13.1 拷贝、赋值与销毁13.1.1拷贝构造函数拷贝构造函数条件: 1. 第一个参数为自身类型的引用 2. 任何额外参数都有默认值对于类类型的成员,会使用其拷贝构造函数来拷贝,内置类型则直接拷贝。#include using namespace std;int main(){ return 0;}class Sales_data {public原创 2017-02-18 16:57:20 · 397 阅读 · 0 评论 -
算法导论_第十一章_散列表
算法导论_第十章_散列表散列表大概就是把给每个要存储的数据都用散列函数给定一个关键字,对应到一个槽。由于不同的信息可能对应同样的关键字,也就是说对应同一个槽,这时要解决其冲突,解决冲突可以用链接法,和开放寻址法。对于链接法,其对于冲突采取链表进行解决,这样就保证了数据不会发生冲突。其查找的平均时间为O(1+n/m)11.3散列函数一个好的散列函数能够将每个关键字都被等可能地原创 2016-07-20 22:27:55 · 454 阅读 · 0 评论 -
算法导论_第三章_函数的增长
函数的增长1.渐进记号Θ定义:对于一个给定的函数g()用Θ(g(n))来表示以下函数的集合Θ(g(n))={f(n):存在正常量c1、c2和N,使得对所有的n>=N,有0注:这里我们通常已知f(n)求g(n)函数如下图:这时我们称g(n)是f(n)的一个渐进紧确界即当n逐渐变大的时候,对于f(n),只需取f(n原创 2016-06-23 19:10:18 · 1943 阅读 · 0 评论 -
算法导论_第二章_算法基础
算法基础伪代码:利用简洁的语句,抛去繁杂的语言特征,忽略数据抽象、模块性、和错误处理的问题,表达出算法的本质循环不变式作用:帮助我们理解算法的正确性关于循环不变式需要证明三条性质:1.初始化:循环的第一次迭代之前,它为真2.保持:如果循环的某次迭代之前它为真,那么下次迭代之前它仍为真3.在循环终止时,不变式为我们提供了一个有用的性质,该性质有原创 2016-06-23 16:40:07 · 580 阅读 · 0 评论 -
算法导论_第十章_基本数据结构
算法导论_第十章_基本数据结构队列和栈:队列为先进先出,栈为先进后出。其可以用数组和链表实现。队列代码如下:/************************************************************************* > File Name: queue.cpp > Author:chudongfang原创 2016-06-30 15:33:28 · 589 阅读 · 0 评论 -
算法导论_第九章_中位数和顺序统计量
算法导论_第九章_中位数和顺序统计量最小值和最大值在一个有n个元素的集合中,至少要n-1次比较才能找到最小值或最大值。如果同时找最大值和最小值,只需要3*(n/2)次比较,因为对于两个数,首先对这两个数进行比较,较大的一个与最大值比较,较小的一个与最小值比较,这样就找到了最大最小值。期望为线性的选择算法利用快排中的分治思想找到第i原创 2016-06-29 17:16:25 · 832 阅读 · 0 评论 -
算法导论_第八章_线性时间排序
算法导论_第八章_线性时间排序排序算法的下界决策树模型决策树是一颗完全二叉树决策树的每个节点代表需要比较的两个数,叶节点为一个数的排序。所以任何正确的排序,n个元素的n!个排列情况都应该出现在叶节点上。比较排序的最坏情况出现在比较次数为决策树的高度,而决策数的高度hΩ(n*lg(n))堆排序和归并排序都是渐进最优的原创 2016-06-29 17:12:14 · 499 阅读 · 0 评论 -
算法导论_第七章_快速排序
算法导论_第七章_快速排序快速排序的描述:与归并排序一样,快速排序也使用了分治思想。下面是对一个数组进行快速排序的三部分治过程:1.分解:数组A[p,r]被划分为两个子数组A[p,q-1]和A[q+1,r],使得A[p,q-1]中的每一个元素都小于等于A[q],而A[q]也小于等于A[q+1,r];2.解决:通过递归调用快速排序,对子数组进行排序。3.合并:因为其是进行原址原创 2016-06-28 23:59:56 · 481 阅读 · 0 评论 -
算法导论_第六章_堆排序
算法导论_第六章_堆排序对于堆排序,我就不着重介绍,这是我写的另一篇介绍堆排序的文章:http://blog.csdn.net/chudongfang2015/article/details/51173902这里贴上代码:#include#include#include int h[1000],n;void swap(int x,int y);void原创 2016-06-28 19:39:20 · 427 阅读 · 0 评论 -
算法导论_第四章_分治策略
算法导论_第四章_分治策略分治的三个步骤:分解:将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小。解决:递归的求解出子问题。如果子问题足够小,则停止递归,直接求解合并:将子问题的解组合成原问题的解。最大子数组问题:给定数组A,寻找A的和最大的非空连续子数组。可以利用暴力求解,其为Ω(n^2)这里利用分治法解决,其时间复杂度为Θ(n*lg原创 2016-06-28 16:47:44 · 1204 阅读 · 0 评论 -
XiyouLinuxGroup分享笔记
熟练使用Shell by 李余通/bin存放系统常用命令 如:ls/sbin存放系统级命令 如:reboot/usr/bin/usr/sbin存放用户安装软件等命令 如:lsalias为命令起别名: 例如 alias py=python/dev/null可以写入很大文件,但无法读出ls dir1 dir2 1> /dev/null把正确信息写入/dev/nullls dir1 dir2原创 2017-03-05 20:36:13 · 564 阅读 · 0 评论