Analysis of Algorithms(PPT讲稿)Data Structures and Data Management

CS2468: Data Structures and Data Management Lecturer: Lusheng Wang · office:B6422 Phone:34429820 E-mail cswangl @cityu. edu. hk TA ( Assignment Marking and Tutorial) Chao shen chaoshen 2-c@my cityu. edu. hk, phone 3442 2546 ZichengZHAOshinaiderzhao@gmail.com Welcome to ask questions at any time The course Website: Canvas Some」 ava source code http:/inEt3.datastructures.net/download.html The course website Text Book: Michael T goodrich and roberto tamassia Data Structure and Algorithms in Java, John Wiley Sons, Inc. 5th Edition Stacks
CS2468: Data Structures and Data Management • Lecturer: Lusheng Wang • Office: B6422 • Phone: 3442 9820 • E-mail cswangl@cityu.edu.hk • TA (Assignment Marking and Tutorial) – Chao SHEN chaoshen2-c@my.cityu.edu.hk , Phone: 3442 2546 – Zicheng ZHAO shinaider.zhao@gmail.com Welcome to ask questions at ANY time. • The course Website: Canvas • Some Java Source code: http://net3.datastructures.net/download.html • The course Website: Text Book: Michael T. Goodrich and Roberto Tamassia, Data Structure and Algorithms in Java, John Wiley & Sons, Inc. 5th Edition Stacks 1

opicS to be covere Analysis of algorithms worst case time and space complexity Data structures stack, queue, linked list, tree, priority queue, heap, hash, and graph, Searching agorithms binary and avl search trees Sorting agorithms merge sort, quick sort, bucket sort and radix sort; (Reduce some contents Graph data structure depth first search and breadth first search ( add some interesting contents). shortest path Stacks 2
Topics to be covered • Analysis of Algorithms – worst case time and space complexity • Data Structures – stack, queue, linked list, tree, priority queue, heap, hash, and graph, • Searching algorithms – binary and AVL search trees; • Sorting algorithms – merge sort, quick sort, bucket sort and radix sort; (Reduce some contents) • Graph – data structure, depth first search and breadth first search. (add some interesting contents). • shortest path. Stacks 2

Why This Course? You will be able to evaluate the quality of program analysis of algorithms: Running time and memory space You will be able to write fast programs You will be able to solve new problems You will be able to give non-trivial methods to solve problems. (Your algorithm(program) will be faster than others. Stacks
Why This Course? • You will be able to evaluate the quality of a program (Analysis of Algorithms: Running time and memory space ) • You will be able to write fast programs • You will be able to solve new problems • You will be able to give non-trivial methods to solve problems. (Your algorithm (program) will be faster than others.) Stacks 3

Course evaluations · Course work:30% Final Exam: 70% Course Work Three assignments, 15% One quiz or lab test 3% One mid term exam 12% Stacks
Course Evaluations • Course work: 30% • Final Exam: 70% • Course Work: – Three assignments, 15% – One quiz or lab test 3% – One mid term exam 12% Stacks 4

OBL. Course Intended Learning Outcomes 1. Describe the functiona lity of a data structure as an abstract data type 2. Implement an abstract data type in a programming language 3. Implement and test data structures for common structures 4. Select an appropriate data structure from a given set of structures to solve a given problem 5. Design and implement data storage management with simple file structures Will be tested in quiz or assignment or midterm For each item you have to get 40%to pass
5 OBTL: Course Intended Learning Outcomes 1.Describe the functionality of a data structure as an abstract data type; 2.Implement an abstract data type in a programming language; 3.Implement and test data structures for common structures; 4.Select an appropriate data structure from a given set of structures to solve a given problem; 5.Design and implement data storage management with simple file structures. Will be tested in quiz or assignment or midterm. For each item, you have to get 40% to pass

Pre-requisites CS2360 Java Programming /or Not known java? Spend the rest of 8-10 days to study java Read textbook p1-p53 Design a class with two integers C1 and C2 and a method fo to calculate the average value of c1 and c2 If you cannot do that, you should worry Stacks 6
Pre-requisites: • CS2360 Java Programming /or • Not known java? – Spend the rest of 8-10 days to study Java. – Read textbook p1-p53 – Design a class with two integers C1 and C2 and a method f() to calculate the average value of c1 and c2. – If you cannot do that, you should worry… Stacks 6

Data structures a systematic way of organizing and accessing data No single data structure works well for ALl purposes Data stored operation on data Algorithms an effective method expressed as a finite list of well-defined instructions for calculating a function Algorithms are used for calculation, data processing and automated reasonIng In simple words an algorithm is a step-by-step procedure for calculations Stacks
• Data Structures – A systematic way of organizing and accessing data. --No single data structure works well for ALL purposes. – Data stored – operation on data • Algorithms – an effective method expressed as a finite list of well-defined instructions for calculating a function. – Algorithms are used for calculation, data processing, and automated reasoning. – In simple words an algorithm is a step-by-step procedure for calculations. Stacks 7

How to describe algorithm? Nature languages Chinese, english, etc Not accurate · Pseudo-code Codes close to computer languages Omits details that are not essential for human understanding Intended for human reading rather than machine reading Programs C/C++ programs, Java programs Pseudo-code is preferred Allow a well-trained programmer to be able to implement Stacks
How to describe algorithm? • Nature languages – Chinese, English, etc. – Not accurate. • Pseudo-code – Codes close to computer languages • Omits details that are not essential for human understanding – Intended for human reading rather than machine reading • Programs – C /C++ programs, Java programs. • Pseudo-code is preferred – Allow a well-trained programmer to be able to implement. – Allow an expert to be able to analyze the running time. Stacks 8

An Example of an algorithm Algorithm sorting(X, n Algorithm sorting(x, n) Input array X of n integers Input array X of n integers Output array X sorted in a non- Output array X sorted in a non- decreasing order ecreasing order for it0 to n-do forj←-计+ton-ldo for i fromo to n- do fori from i+l to n-1 do if (Xixlilthen if X/i is largerthan Xil S- swap(X/i,xn i/, return X return X lafter i-th round, the i-th smallest after i-th round, the i-th smallest number is at i-th position number is at i-th position Stacks
An Example of an Algorithm Algorithm sorting(X, n) Input array X of n integers Output array X sorted in a nondecreasing order for i 0 to n − 1 do for j i+1 to n-1 do if (X[i]>X[j])then { s=X[i]; X[i]=X[j]; X[j]=s; } return X // after i-th round, the i-th smallest number is at i-th position. Stacks 9 Algorithm sorting(X, n) Input array X of n integers Output array X sorted in a nondecreasing order for i from 0 to n − 1 do for j from i+1 to n-1 do if X[i] is larger than X[j] swap(X[i], X[j]) return X // after i-th round, the i-th smallest number is at i-th position

Variables. Primitives a variable has its value a type is associated, E. g, int, boolean, float, long, etc A value is assigned to the variable The value is stored in the memory The size of the value is determined umbigously; 64 bit machine, int 8 bytes, double 8 bytes, etc Examples int y=50; char, ZA; Stacks
Variables, Primitives • A variable has its value – A type is associated, • E.g., int, boolean, float, long, etc. – A value is assigned to the variable • The value is stored in the memory • The size of the value is determined umbigously; 64 bit machine, int 8 bytes, double 8 bytes, etc – Examples • int x; • int y=50; • char c, z=‘A’; Stacks 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第3章 计算机的算术运算.pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)图像压缩编码 Image Compression.pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)数字图像处理基础 Basics of Digital Image Processing.pptx
- 中国科学技术大学:云计算及安全(PPT讲稿)Cloud Computing & Cloud Security.pptx
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第7章 用函数实现模块化程序设计.pptx
- 云计算 Cloud Computing(PPT讲稿)MapReduce进阶.ppt
- 四川大学:《数据库技术》课程教学资源(PPT课件讲稿)数据库设计.ppt
- 《程序设计基础》课程PPT教学课件(C++)第3讲 C++程序控制结构.ppt
- MSCIT 5210/MSCBD 5002:Knowledge Discovery and Data Mining:Chapter 4:Data Warehousing, On-line Analytical Processing and Data Cube.ppt
- 香港中文大学:Achieving Secure and Cooperative Wireless Networks with Trust Modeling and Game Theory.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)项目范围计划(主讲:周立新).ppt
- 《网上开店实务》课程教学资源(PPT讲稿)学习情境3 网店装修.ppt
- 中国科学技术大学:Linux内核源代码导读(PPT讲稿,陈香兰).ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 04 Object-Based Programming.ppt
- 北京航空航天大学:SimplyDroid - Efficient Event Sequence Simplification for Android Application.pptx
- 南京大学:《计算机图形学》课程教学资源(PPT课件讲稿)第7讲 图元填充与裁剪算法.pptx
- 香港浸会大学:Introduction to Linux and PC Cluster.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 结构体、共用体与枚举类型.ppt
- 《计算机系统安全》课程教学资源(PPT课件讲稿)第二章 黑客常用的系统攻击方法.ppt
- 上海交通大学:《挖掘海量数据集 Mining Massive Datasets》课程教学资源(PPT讲稿)Lecture 06 搜索引擎 Search Engines.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第七章 数组.ppt
- 《计算机网络与因特网 Computer Networks and Internets》课程教学资源(PPT课件讲稿)第二讲 互联网应用软件.ppt
- 《计算机操作系统》课程教学资源(PPT课件讲稿)第四章 存储器管理.ppt
- 《单片机应用技术》课程PPT教学课件(C语言版)第10章 单片机测控接口.ppt
- 中国科技大学计算机系:《黑客反向工程》课程教学资源(PPT课件讲稿)黑客反向工程导论(陈凯明).ppt
- 香港科技大学:Record Linkage for Big Data.pptx
- 沈阳理工大学:《计算机网络》课程教学资源(PPT课件讲稿)第2章 IP技术.ppt
- 《编译技术》课程教学资源(PPT课件讲稿)第六章 运行时存储空间的组织和管理.ppt
- 《面向对象程序设计》课程教学大纲(适用专业:信息与计算科学).pdf
- 《Java Web应用开发技术与案例教程》教学资源(PPT讲稿)第7章 Java Web常用开发模式与案例.ppt
- 程序设计工具(PPT课件讲稿)Software Program Tool.ppt
- 山东大学:《网站设计与建设》课程教学资源(PPT课件讲稿)第三部分 网站设计技术 第20章 MySQL数据库.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)项目范围计划(主讲:周立新).ppt
- 《JAVA面向对象入门技术》教程教学资源(PPT课件讲稿)第二章 Java语言基础.ppt
- 《Managing XML and Semistructured Data》教学资源(PPT课件讲稿)Part 04 Compressing XML Data.ppt
- Introduction to Text Mining 文本挖掘.pptx
- 北京大学:烟花算法的变异算子(PPT讲稿)Mutation Operators of Fireworks Algorithm.pptx
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)绪论、第1章 量化设计与分析基础(主讲:周学海).ppt
- 清华大学出版社:《计算机应用基础实例教程》课程教学资源(PPT课件讲稿,第二版,共七章,主编:吴霞,制作:李晓新).ppt
- 《计算机算法设计与分析》课程教学资源(PPT课件)第8章回溯法.ppt