教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

数据结构(C语言版)第1章(2)

来源:网络收集 时间:2026-09-08
导读: 语言描述算法 用程序设计( C++) 不太容易且不直观,且需要借助于注释才能看明白。 不太容易且不直观,且需要借助于注释才能看明白。 一般采用伪代码来描述算法。 为解决理解与执行的矛盾一般采用伪代码来描述算法。

语言描述算法 用程序设计( 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,机械工业出版社风格不同于清华大学严蔚敏教材,作者论证严密,算法独特,注重引导创新思维!

1.4. …… 此处隐藏:2986字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据结构(C语言版)第1章(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91426.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)