数据结构c语言版教学PPT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构:就是研究数据的逻辑结构和物理结构以及它 们之间相互关系,并对这种结构定义相应的运算,而且 确保经过这些运算后所得到的新结构仍然是原来的结构 类型。
12
Section 1 Introduction
2.
Algorithm A problem is a task to be performed.
1.
Data Structure
A data structure is any data representation and its associated operations. A data structure is meant to be an organization or structuring for a collection of data items.
5
Solution
public int getRabitNumber(long i){ if (i == 1 || i == 2){ return 1; } else{return getRabitNumber(i - 1)+ getRabitNumber(i - 2);} }
程序流程简单、程序效率一般
Section 1 Introduction
1. 2. 3.
4.
What is Data Structure What is Algorithm & Programing What is Abstract Data Type (ADT) How to analyze Algorithm
Section 1 Introduction
13
Section 1 Introduction
An algorithm is a method or process followed to solve a problem.
9
Content
lec01 Introduce lec02 List lec03 Linked List lec04 Stack lec05 To Implement Stack lec06 Queues Lec07 String Lec08 Array & List Lec09 Tree Lec10 Graph Lec11 Sorting & Searching
程序执行效率较高、资源要求低、但程序功能有局限
8
Problem
The Key points of DataStructure:
How to put Data into computer Time cost of program Space cost of program And so on
6
Solution
private int[] sum = new int[100]; public void getRabitSum(int i){ sum[1] = 1; sum[2]= 1; for(int j = 3 ; j <= i;j++){ sum[j] = sum[j-1] + sum[j-2]; } }
Data Structure
Class Name:Data Structure Teacher:Yu Song Tel: 82655410 Email: ys@ QQ: 8190185
1
Data Structure
课程安排:56课时上课;8课时上机 上课纪律: 严肃、灵活、轻松、 课程要求: 上课+自学+编程 Java、C++ … … 课程结束时,提交一个功能丰富、结构完整 的软件系统
有一对刚出生的兔子,一个月后长成大兔子, 再过一个月后,每月生一对小兔子,小兔子长 大后又可以生育小兔子。那么在没有死亡的情 况下,第n个月后总共有多少对兔子,用算法 描述。
4
Solution
设A[n] 第n个月的兔子总数,则: 第n个月的兔子总数 = 第n-1个月的的兔子数+ 第n个月新生出来的兔子数 第n个月新生出来的兔子数,也就是第n-1个月 成年的兔子数 第n-1个月成年的兔子数,也就是第n-2个月的 兔子数 所以 A[n] = A[n-1] + A[n-2] A[1] = A[2] = 1
机械工业出版社 2008
参考书2:《数据结构》(C语言版)/严蔚敏
吴伟民著 清
华大学出版社,2002 参考书3:C++语言程序设计(第2版) /郑莉 董渊 清 华大学出版社 2001 参考书4:《数据结构与算法分析》(C++版)(第2版)/ 张铭等译 电子工业出版社,2002。
3
Question
程序执行效率较高、资源要求较高
7
Solution
public long getRabitSum_NoArray(int i){ long currentNumber = 0; long perNumber = 1; long perPerNumber = 1; for(int j = 3; j<=i; j++){ currentNumber = perNumber + perPerNumber ; perPerNumber = perNumber; perNumber = currentNumber; } if(i ==1 || i == 2) return 1; else return cure
Textbook :Data Structures and Algorithm Analysis in C Second Edition. by Mark Allen Weiss 机械工业出版社,2007. 参考书1:数据结构从应用到实现(Java版)by Sesh Venugopal
A problem definition should include constraints on the resources. A problem definition should not include any constraints on how the problem is to be solved.
12
Section 1 Introduction
2.
Algorithm A problem is a task to be performed.
1.
Data Structure
A data structure is any data representation and its associated operations. A data structure is meant to be an organization or structuring for a collection of data items.
5
Solution
public int getRabitNumber(long i){ if (i == 1 || i == 2){ return 1; } else{return getRabitNumber(i - 1)+ getRabitNumber(i - 2);} }
程序流程简单、程序效率一般
Section 1 Introduction
1. 2. 3.
4.
What is Data Structure What is Algorithm & Programing What is Abstract Data Type (ADT) How to analyze Algorithm
Section 1 Introduction
13
Section 1 Introduction
An algorithm is a method or process followed to solve a problem.
9
Content
lec01 Introduce lec02 List lec03 Linked List lec04 Stack lec05 To Implement Stack lec06 Queues Lec07 String Lec08 Array & List Lec09 Tree Lec10 Graph Lec11 Sorting & Searching
程序执行效率较高、资源要求低、但程序功能有局限
8
Problem
The Key points of DataStructure:
How to put Data into computer Time cost of program Space cost of program And so on
6
Solution
private int[] sum = new int[100]; public void getRabitSum(int i){ sum[1] = 1; sum[2]= 1; for(int j = 3 ; j <= i;j++){ sum[j] = sum[j-1] + sum[j-2]; } }
Data Structure
Class Name:Data Structure Teacher:Yu Song Tel: 82655410 Email: ys@ QQ: 8190185
1
Data Structure
课程安排:56课时上课;8课时上机 上课纪律: 严肃、灵活、轻松、 课程要求: 上课+自学+编程 Java、C++ … … 课程结束时,提交一个功能丰富、结构完整 的软件系统
有一对刚出生的兔子,一个月后长成大兔子, 再过一个月后,每月生一对小兔子,小兔子长 大后又可以生育小兔子。那么在没有死亡的情 况下,第n个月后总共有多少对兔子,用算法 描述。
4
Solution
设A[n] 第n个月的兔子总数,则: 第n个月的兔子总数 = 第n-1个月的的兔子数+ 第n个月新生出来的兔子数 第n个月新生出来的兔子数,也就是第n-1个月 成年的兔子数 第n-1个月成年的兔子数,也就是第n-2个月的 兔子数 所以 A[n] = A[n-1] + A[n-2] A[1] = A[2] = 1
机械工业出版社 2008
参考书2:《数据结构》(C语言版)/严蔚敏
吴伟民著 清
华大学出版社,2002 参考书3:C++语言程序设计(第2版) /郑莉 董渊 清 华大学出版社 2001 参考书4:《数据结构与算法分析》(C++版)(第2版)/ 张铭等译 电子工业出版社,2002。
3
Question
程序执行效率较高、资源要求较高
7
Solution
public long getRabitSum_NoArray(int i){ long currentNumber = 0; long perNumber = 1; long perPerNumber = 1; for(int j = 3; j<=i; j++){ currentNumber = perNumber + perPerNumber ; perPerNumber = perNumber; perNumber = currentNumber; } if(i ==1 || i == 2) return 1; else return cure
Textbook :Data Structures and Algorithm Analysis in C Second Edition. by Mark Allen Weiss 机械工业出版社,2007. 参考书1:数据结构从应用到实现(Java版)by Sesh Venugopal
A problem definition should include constraints on the resources. A problem definition should not include any constraints on how the problem is to be solved.