- 浏览: 232113 次
最新评论
-
naouguhtaeyeti:
当台阶数大时,这个用递归效率太低
【100题】第二十七 跳台阶问题
文章列表
例题一:让原本指向空的两个指针,赋值
<wbr><span style="font-size:18px"><strong>#include"stdio.h"</strong></span>
<div><span style="font-size:18px"><strong>#include"malloc.h"</strong></span></div>
<div>< ...
- 2011-11-29 23:26
- 浏览 682
- 评论(0)
/* 作者:田帅
学校:**大学
版本:红黑树初始版本
*/
#include"stdio.h"
#include"malloc.h"
#define MIN -99999999 //不要加等号
#define MAX 99999999
struct node
{
long key;
char color;
struct node *p;
struct node *leftChild;
struct node *rightChild;
};
node *nil,*root;//创建根节点和叶子节点
int printn ...
- 2011-11-29 23:25
- 浏览 600
- 评论(0)
首先,庆贺一下自己解决了(看懂了传说中的niubility的旅行商问题)
其次,马上要看到著名的贪心算法问题了!心中无比的激动。
旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程。这个解的一般形式为NP的(在多项式时间内可以求出)
J.L. Bentley 建议通过只考虑双调旅程(bitonic tour)来简化问题,这种旅程即为从最左点开始,严格地从左到右直至最右点,然后严格地从右到左直至出发点。下图(b)显示了同样的7个点的最短双调路线。在这种情况下,多项式的算法是可能的。事实上,存在确定的最优双调路线的O(n*n)时间的算法。
PS:在一个单位栅格上显示的 ...
- 2011-11-29 23:25
- 浏览 1339
- 评论(0)
一般实际生活中我们遇到的算法分为四类:
一>判定性问题
二>最优化问题
三>构造性问题
四>计算性问题
而今天所要总结的算法就是着重解决 最优化问题
《算法之道》对三种算法进行了归纳总结,如下表所示:
...
- 2011-11-29 23:24
- 浏览 850
- 评论(0)
贪心算法讲解例题:活动选择问题问题描述
有一个需要使用每个资源的n个活动组成的集合S= {a1,a2,···,an },资源每次只能由一个活动使用。每个活动a都有一个开始时间和结束时间,且 0<= s < f < 。一旦被选择后,活动a就占据半开时间区间[s,f]。如果[s,f]和[s,f]互不重叠,则称两个活动是兼容的。该问题就是要找出一个由互相兼容的活动组成的最大子集。
11个活动按结束时间排序好,之后为:
s[]={1, 3, 0, 5, 3, 5, 6, 8, 8, 2, 12}; //开始时间
f[]={4, 5, 6, 7, 8, 9,10,11,12, ...
- 2011-11-29 23:24
- 浏览 736
- 评论(0)
【0-1背包】 问题描述:n件物品,第i件物品价值 v[i] 元,重w[i] 磅。希望用 W磅的书包 拿走总价值最贵的物品。(物品不可以分割故称为0-1背包)
【部分背包】问题描述:n件物品,第i件物品价值 vi 元,重wi 磅。希望用 W磅的背包 拿走最重的物品。第i件物品可以都拿走,也可以拿走一部分。(物品可以分割所以称为部分背包)
注意:0-1背包不能用贪心算法求解。
原因:按照贪心算法,每一次拿的都是每磅最贵的物品。由于物品大小不同,有可能每磅最贵的不是最合适大小的。最坏的情况可能导致,背包没有装满,而且当前装的也不是最优的。
例如:10磅 A 价值60¥ ; 20磅 ...
- 2011-11-29 23:23
- 浏览 821
- 评论(0)
问题解释:
一,没有出现安装磁盘
解答:使用工具->磁盘工具。然后对你的虚拟硬盘执行“抹掉”操作
二,安装失败
解答:其实已经安装成功了,只是需要引导盘启动。这时候你把安装时候用的引导盘挂载到光驱中,重新启动。tab选中mac 进入系统就可以了。
三,mac os 只支持 ssci 磁盘
四,创建之初的修改
解答:创建好之后,需要你在刚建立的虚拟机目录下找到一个扩展名为.vmx的文件,用记事本打开,找到guestOS = "freebsd-64"一行,将引号里的freebsd-64改为darwin10,改完是guestOS = "darwin10 ...
- 2011-11-29 23:23
- 浏览 827
- 评论(0)
平摊分析种类
1),聚集分析:n个操作所构成的序列的总时间在最坏情况下为T(n) 平摊代价为:T(n)/n
2),记账法:平摊代价高的操作,当做存储,用来补偿平摊代价低得操作。
3),势能法:平摊代价=实际代价+i点的势能-(i-1)点的势能
平摊分析总结
平摊分析可用来证明在一系列操作中,即使单一的操作具有较大的代价,通过对所有操作求平均后,平均代价还是很小的。平摊分析与平均情况分析的不同之处在于它不牵涉到概率。这种分析保证了在最坏情况下每个操作具有平均性能。
- 2011-11-29 23:22
- 浏览 781
- 评论(0)
IP数据包也叫IP报文分组,传输在ISO网络7层结构中的网络层,它由IP报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节。
下图为IP分组的报文头格式,报文头的 ...
- 2011-11-29 23:22
- 浏览 1120
- 评论(0)
定义:一颗B树拥有如下性质的有根树
1)每个节点有以下域
a)n[x] :存储在节点x中的关键字数
b)n[x]个关键字,按照非降序排列
c)leaf[x]为布尔值,x为叶子则leaf[x]=True 否则为false
2)每个内节点x还包含n[x]+1个指向其子女的指针c1[x],c2[x]……C(n[x]+1)[x]。叶子没有子女
3)各关键字key[x] 之间 的子树的关键字范围 在关键字key1[x]<=c1[x]<=key2[x]之间。
4)每一个叶子有相同的深度=树的高度h
5)每一个节点能包含的关键字数有一个上界和下届。用B树的最小度数t>=2来限 ...
- 2011-11-29 23:21
- 浏览 798
- 评论(0)
2,你用过360的软件吗?有什么建议和评价?
3。如何设计安全软件,才能符合用户需要。
首先:保证软件自身的安全,存在极少的易被攻击的漏洞。
其次:保证本软件运行时各项指标正常
然后:界面友好,易操作。
最后:关键是权衡好安全性与易用性的关系。因为:不恰当的安全性会损害易用性,不适当的易用性会损害安全性。
4。如何评测杀毒软件
闲时占用资源,跟工作时占用资源情况
对中毒文件的灵敏度及处理方式
软件界面、易操作性、收费、杀软功能
跟其他软件的兼容性
软件自身的鲁棒性
5。文件系统都有哪些,相对应都能安装什举系统
FAT16 : MS-DOS Win95 支持分区最大 ...
- 2011-11-29 23:20
- 浏览 836
- 评论(0)
suaLinux账户管理】
1, 怎样登入Linux主机?当你输入账号密码系统怎么判断呢?
1)先寻找 /etc/passwd 文件里有木有这个账号
没有:跳出
有:将跟该账号对应的UID 与 GID 读出来,还有 shell设定与家目录(home)
2)再寻找 /etc/shado ...
- 2011-11-29 23:20
- 浏览 601
- 评论(0)
【一】 Ctrl + c : 在 Linux 底下,如果您输入了错误的指令或参数,有的时候这个指令或程序会在系统底下『跑不停』这个时候怎么办?别担心,如果您想让当前的程序『停掉』的话,可以输入:『Ctrl』+『c』,这个就是中断目前程序的按键啦!
【二】 q : 有很多程序在跑的时候(例如 man 这个指令或 more 这个指令),如果您想跳出来,就按下 q 即可!这个按钮也是很多指令常定义的退出钮。
【三】 [Tab] :会不会觉得打字很疲劳啊!没关系,在 Linux 的预设文字接口 ( 我们称为 BASH Shell ) 当中,有个很棒的功能,叫做是『命令与档案补全』的功能!那就是键盘左 ...
- 2011-11-29 23:19
- 浏览 1028
- 评论(0)
【第一个Hello Word程序】
1, 在桌面上新建一个main.c文件,文件编辑器打开并敲上C语言代码
2, 在终端中输入 cd Desktop
gcc main.c
./a.out //生成的a.out是可执行文件
gcc main.c -o main //指定编译好的文件的名
gcc -wall main.c //意思就是编译的时候打开所有的警告有利于更改程序中的bag
【第二个两个程序组成一个程序】
Main.c
#include<stdio.h>
Int main()
{
Printf(“Hello word !!”);
Tianshua ...
- 2011-11-29 23:19
- 浏览 1105
- 评论(0)
【1】 解决汉字输入法的问题
打开终端 sudo apt-get install scim-pinyin
sudoim-switch -s scim -z all_ALL #因为我用的英文local,所以要将scim设置为所有的locale的默认输入法
im-switch -s scim -z all_ALL#注意:不加sudo然后重启系统,生效。
【2】汉化系统菜单
1,打开屏幕上方的“system”(系统),里面有个“Administration”(系统管理),选择“Snaptic Package Manager”(软件包管理器),打开,输入密码后进入软件包管理器,在里面找到L ...
- 2011-11-29 23:18
- 浏览 1182
- 评论(0)