数据结构(C语言版)第1章(2)
语言描述算法 用程序设计( C++) 不太容易且不直观,且需要借助于注释才能看明白。 不太容易且不直观,且需要借助于注释才能看明白。 一般采用伪代码来描述算法。 为解决理解与执行的矛盾一般采用伪代码来描述算法。 为解决理解与执行的矛盾一般采用伪代码来描述算法2012-2-19 11
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
选择排序]把 个整数排序 其中n≥1,给出方案? 个整数排序, 例1[选择排序 把n个整数排序,其中 选择排序 ,给出方案?给出算法与程序:P4 自然语言: 自然语言: 从未被排序的整数中找出最小的整数,将其放在已排序整数列 中的下一个位置。 伪代码: 伪代码: for(i=0;i<n;i++){ Examine list[i] to list[n-1] and suppose that the smallest integer is at list[min]; interchange list[i] and list[min]; }
2012-2-19
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
#include<stdio.h> #include<math.h> 程序1- : 程序 -1:选择排序 #define MAX_SIZE 101 #define swap(x,y,t)((t)=(x),(x)=(y),(y)=(t)) void sort(int list[],int n) void swap(int *x,*y,int temp) void main( ) { temp=*x; {int i,n; *x=*y; int list[MAX_SIZE]; *y=temp; printf("Enter the number to generate:"); } scanf("%d",&n); if(n<1||n>MAX_SIZE) printf("Improper value of n\n"); void sort(int list[],int n) for(i=0;i<n;i++) { int i,j,min,temp; {list[i]=rand()%1000; for(i=0;i<n-1;i++){ printf("%d ",list[i]); min=i; } for(j=i+1;j<n;j++) sort(list,n); if(list[j]<list[min]) min=j; printf("\n Sorted array:\n"); swap(list[i],list[min],temp); } for(i=0;i<n;i++) printf("%d ",list[i]); } printf("\n"); }2012-2-19 13
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
例1-2[折半查找]假定有n个不同的整数n≥1,且它们已经排 2[折半查找]假定有n个不同的整数n≥1,且它们已经排 序并存放在数据list中。即list[0]≤list[1]≤…≤list[n-1].要求 序并存放在数据list中。即list[0]≤list[1]≤…≤list[n-1].要求 判定某个整数是否在数组中,如果在数据中,返回下标i ,使 判定某个整数是否在数组中,如果在数据中,返回下标i ,使 得list[i]=searchnum 。如果不在,则返回-1。 。如果不在,则返回给出算法描述(伪代码): 给出算法描述(伪代码): while (there are mor integers to check){ middle=(left+right)/2; if(searchnum<list[middle]) right=middleright=middle-1; else if(searchnum==list[middle] return middle; else left=middle+1; }2012-2-19 14
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
1.2.2 递归算法函数可以调用其自身或其他函数,不仅用于类似计算阶乘算法,任何 函数可以调用其自身或其他函数,不仅用于类似计算阶乘算法, 赋值语句、if-else、 while结构语句都可以使用 例如: 结构语句都可以使用。 赋值语句、if-else、 while结构语句都可以使用。 例如:二项式公式 3[折半查找 的递归构造: 折半查找] 例1-3[折半查找]的递归构造:构造递归调用终止的边界条件 实现递归调用,每次调用向最终解逼近一步,给出
算法与程序: 实现递归调用,每次调用向最终解逼近一步,给出算法与程序: int binsearch(int list[], int searchnum, int left, int right) { int middle; if (left<=right) { middle=(left+right)/2; switch(compare(list[middle],searchnum)) { case -1: return binsearch(list,searchnum,middle+1,right); case 0: return middle; case 1: return binsearch(list,searchnum,left,middle-1); } binsearch(list,searchnum,left,middle} }2012-2-19 15
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
1.3 数据抽象定义1 定义1:数据类型 data type struct student{ char last_name; int student_id; char grade; } 定义2 定义2:抽象数据型 ADT (1)生成器/ (1)生成器/构造器 (2)转换器 (2)转换器 (3)观察器 (3)观察器
2012-2-19
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
例1-5【ADT Natural_Number】 Natural_Number】Structure Natural_Number object:整数中有序子列,从0开始 整数中有序子列,到计算机中最大数 Nat_no Zero(x) ::=0
Boolean Is_Zero(x) ::=if(x) return False Nat_no Add(x,y) ::=if((x+y)<=Int_Max return x+y
else return INT_MAX Boolean Equal(x,y) ) ::=if((x==y) return Ture else return INT_MAX Nat_No Successor(x)::=if(x==INT_MAX)return x else return x+1; Nat_no Subtract(x,y)::=if((x<y) return 0 else return x-y xEnd Natural_Number2012-2-19 17
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
1.4 算法分析与评价算法设计的要求⑴正确性 (Correctness):算法的执行结果应当满足预先规定的功能和 正确性 Correctness): 性能要求。 性能要求。 ⑵可读性(Readability):算法应当思路清晰、层次分明、简单明了、 可读性 Readability):算法应当思路清晰、层次分明、简单明了、 易读易懂。以有利于阅读者对程序的理解。 易读易懂。以有利于阅读者对程序的理解。 ⑶健壮性(Robustness):算法应具有容错处理。当输入非法数据时,算 健壮性(Robustness):算法应具有容错处理。当输入非法数据时, 法应对其作出反应并适当处理,不至引起严重后果。 法应对其作出反应并适当处理,不至引起严重后果。 高效性和存储量需求:效率指算法执行的时间。 ⑷高效性和存储量需求:效率指算法执行的时间。对于解决同一问题的 多个算法,执行时间短的算法效率高。存储量需求指算法执行过程中所 多个算法,执行时间短的算法效率高。 需要的最大存储空间。 需要的最大存储空间。2012-2-19 18
数据结构(C语言版)计算机教学PPT,教材作者:Ellis Horowitz Sartaj Sahni Susan Anderson-Freed,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




