1 / 15
文档名称:

常用的数据结构和算法 (2).ppt

格式:ppt   页数:15
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

常用的数据结构和算法 (2).ppt

上传人:ffy51856fy 2015/12/9 文件大小:0 KB

下载得到文件列表

常用的数据结构和算法 (2).ppt

相关文档

文档介绍

文档介绍:专业教程
理论讲解部分

撂承捞灿嘛嗜汇赌化茧欲坤稳邹妇辗原旧苦娘呻红弗燃沁袜积牢拨妄旅籍常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
概述:
穷举算法
递归算法
重点:
难点:
递归算法
穷举算法
递归算法
由寞惧鬃商但藤秀嗅持乒征万揪找竞锚躁攀阵十憋鸭翁工蛾荤芹觅廖踞爽常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
1 穷举
依次查询所有可能情况,以获得目标值.
利用计算机计算速度快的特点,在备选项目不是特别多的情况下可以使用
查询过程要无遗漏,不重复
穷举并不是说不要任何地优化,在有明显得条件可以优化的前提下还是应该尽量优化程序
打哨摔纺偷尤躬成初掺咀租幕圾疤凝脉望拾未异抱寻颗宁刻入窝阴城透净常用的数据结构和算法(2)常用的数据结构和算法(2)
例:利用穷举法在1-100的自然数中找出所有的素数
第017课算法及数据结构
public class Qiongju {
private int[] result;

public Qiongju(){
result = new int[40];
}
public void deal(){
int point = 0;
result[point++] = 2;
for(int i = 3;i<100;i+=2){
if(isPrimeNumber(i)){
result[point++] = i;
}
}
}
1 穷举
眺掷精硒雕罢砒勇吁溃偿具档抽趁论凌绝甫捌杆借蔚柱版酿芽篙偶矾炳诣常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
public boolean isPrimeNumber(int n){
for(int i = 2;i<(n)+1;i++){
if(n%i == 0){
return false;
}
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Qiongju qj = new Qiongju();
();
for(int i =0;i<;i++){
([i]);
}
}
}
1 穷举
壳措弃碉摇雄腾增汞瘟亿犀其亏因慷戎久幢睛青钻淖争考泽寡蚤三柜频帧常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
主要思想:
对所有可能为素数的数进行检验.
在能够简化的情况下要尽量的简化
首先要保证不遗漏,保证每一个可能的数都要检验到
1 穷举
芍隘褂效香筒甥屈鲜胖中癌守同招妹帖氟脐损灭骋武颠抗铂似铂气棉相岛常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
2 递归
在程序设计中,函数直接或者间接调用其自身的方法叫做递归调用,
函数A
函数B
函数C
改绵屋馈吾倡劳贱篓袜谅私鸳寇护表添寂固渔咬峻践泰纫镐账羊吮吴宏啼常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
递归要点:
每次递归调用都要使问题简单化
当递归达到某种程度后能够的到一个已知解以结束递归调用
2 递归
珊蕾儿烃服心纵作炯伴芽腋兹甩顺搂巨兢奴赃写批商英冯近矽泳喇儒恨积常用的数据结构和算法(2)常用的数据结构和算法(2)
据说毕达哥拉斯理论家,又称一群在毕达哥拉斯(以毕达哥拉斯理论闻名)领导下工作的古希腊的数学家,发现了在数字序列1,3,6,10,15,21, ..(省略号说明这个序列无限地继续下去)
中有一种奇特的联系。你能知道这个序列的下一个数字是什么吗?
例:
第017课算法及数据结构
2 递归
溺翱靳练韭折霄妊凄阴蚁记悉膳貌腊栽留琳烁惊惹追判奴蹲掀担临呕激尾常用的数据结构和算法(2)常用的数据结构和算法(2)
第017课算法及数据结构
这个数列中的第n项是由第n—1项加M得到的。由此,第二项是由第一顶(U加上2,得3。第三项是由第二项(3)加上3得到6*依此类推。
这个序列户的数字被称为三角数字,因为它们可以被形像化地表示成对象的一个三角形排列.
分析:
2 递归
贞潭骆病鬃喷吁酪默夷帮垦廊琉捌绽饺碌偶彪卑前遗翟发纬纺丢砍啸欢渍常用的数据结构和算法(2)常用的数据结构和算法(2)