Chapter-4-Data-Structure-Computer-English-计算机专业英语—.ppt
《Chapter-4-Data-Structure-Computer-English-计算机专业英语—.ppt》由会员分享,可在线阅读,更多相关《Chapter-4-Data-Structure-Computer-English-计算机专业英语—.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Computer English Chapter 4 Data Structure1Chapter 4 Data StructureKey points:useful terms and definitions of data structureDifficult points:Stack,queue,tree2计算机专业英语Chapter 4 Data StructureRequirements:1.Three reasons for using data structures are efficiency,abstraction,and reusability.2.The properti
2、es of Stack,Queue,and Tree3.掌握常用英汉互译技巧掌握常用英汉互译技巧 3计算机专业英语Chapter 4 Data StructureNew Words&Expressions:harsh table 杂凑杂凑(哈希哈希)表表priority queues 优先队列优先队列reusability n.复用性复用性binary tree 二叉树二叉树traversing 遍历,走过遍历,走过context-free 与上下文无关与上下文无关4.1 An Introduction to Data Structures 4计算机专业英语Chapter 4 Data Str
3、uctureChapter 4 Data StructureEfficiency Data structures organize data in ways that make algorithms more efficient.For example,consider some of the ways we can organize data for searching it.One simplistic approach is to place the data in an array and search the data by traversing element by element
4、 until the desired element is found.However,this method is inefficient because in many cases we end up traversing every element.By using another type of data structure,such as a hash table or a binary tree we can search the data considerably faster.效率效率数据结构使用令算法更有效率的方法组织数据。例如,考虑一些我们用来数据结构使用令算法更有效率的方
5、法组织数据。例如,考虑一些我们用来查找数据的组织方式。一种过分简单的方式是将数据放置到数组中,并用查找数据的组织方式。一种过分简单的方式是将数据放置到数组中,并用遍历的方法找到需要的元素。然而,这种方法是低效率的,因为在许多情遍历的方法找到需要的元素。然而,这种方法是低效率的,因为在许多情况下,我们需要遍历所有元素才能完成。使用其他类型的数据结构况下,我们需要遍历所有元素才能完成。使用其他类型的数据结构,如哈希如哈希表和二叉数,我们能够相当快速地搜寻数据表和二叉数,我们能够相当快速地搜寻数据。4.1 An Introduction to Data Structures 6计算机专业英语Chap
6、ter 4 Data StructureAbstraction Data structures provide a more understandable way to look at data;thus,they offer a level of abstraction in solving problems.For example,by storing data in a stack,we can focus on things that we do with stacks,such as pushing and popping elements,rather than the detai
7、ls of how to implement each operation.In other words,data structures let us talk about programs in a less programmatic way.抽象化抽象化数据结构提供一个更好理解的方法查看数据;因此,它们在解决问题中提供数据结构提供一个更好理解的方法查看数据;因此,它们在解决问题中提供一定的抽象化水平。例如,通过把数据储存在堆栈中,我们可以将重点集中一定的抽象化水平。例如,通过把数据储存在堆栈中,我们可以将重点集中在对堆栈的操作上,如使元素进栈和出栈,而不是集中在实现操作的细节上。在对堆栈的
8、操作上,如使元素进栈和出栈,而不是集中在实现操作的细节上。换句话说,数据结构使我们以较少的编程方式谈论程序。换句话说,数据结构使我们以较少的编程方式谈论程序。4.1 An Introduction to Data Structures 7计算机专业英语Chapter 4 Data StructureReusability Data structures are reusable because they tend to be modular and context-free.They are modular because each has a prescribed interface thr
9、ough which access to data stored in the data structure is restricted.That is,we access the data using only those operations the interface defines.Data structures are context-free because they can be used with any type of data and in a variety of situations or contexts.In C,we make a data structure s
10、tore data of any type by using void pointers to the data rather than by maintaining private copies of the data in the data structure itself.复用性:复用性:因为数据结构趋向于模块化并和环境无关因为数据结构趋向于模块化并和环境无关,所以数据结构是可以所以数据结构是可以复用的。因为每种结构有一个预定的接口复用的。因为每种结构有一个预定的接口,通过该接口限制访问存储在数据通过该接口限制访问存储在数据结构中的数据,所以它们是模块化的。也就是说结构中的数据,所以它们
11、是模块化的。也就是说,我们只能使用接口定义的我们只能使用接口定义的那些操作来访问数据。因为数据结构能用于任何类型的数据那些操作来访问数据。因为数据结构能用于任何类型的数据,并用于多种环并用于多种环境中,所以数据结构与使用环境无关。在境中,所以数据结构与使用环境无关。在C语言中,我们通过使用空指针,语言中,我们通过使用空指针,而不是通过维护非公开的数据备份,使数据结构存储任何类型的数据。而不是通过维护非公开的数据备份,使数据结构存储任何类型的数据。4.1 An Introduction to Data Structures 8计算机专业英语Chapter 4 Data StructureChap
12、ter 4 Data StructureOne of the properties of a list that makes a linked structure more inviting than a contiguous one is the need to insert and delete entries inside the list.Recall that it was such operations that had the potential of forcing the massive movement of names to fill or create holes in
13、 the case of a contiguous list.If we restrict such operations to the ends of the structure,we find that the use of a contiguous structure becomes a more convenient system.An example of this phenomenon is a stack,which is a list in which all insertions and deletions are performed at the same end of t
14、he structure.A consequence of this restriction is that the last entry entered will always be the first entry removed-an observation that leads to stacks being known as last-in,first-out(LIFO)structures.插入和删除记录的需求是使链接表结构比邻接表结构更诱人的原因之一。插入和删除记录的需求是使链接表结构比邻接表结构更诱人的原因之一。让我们回想一下在邻接表中具有填补和创建存储空缺能力的操作。如果我让我
15、们回想一下在邻接表中具有填补和创建存储空缺能力的操作。如果我们限制这种操作只可以在结构的尾部进行,则邻接表就是一种比较方便的们限制这种操作只可以在结构的尾部进行,则邻接表就是一种比较方便的系统。这种现象的一个例子就是堆栈。在堆栈中,插入和删除操作都在结系统。这种现象的一个例子就是堆栈。在堆栈中,插入和删除操作都在结构的相同末端进行。如此限制的结果就是最后一个进入表的记录也就是第构的相同末端进行。如此限制的结果就是最后一个进入表的记录也就是第一个从表中删除的记录。这种结构称为后进先出结构。一个从表中删除的记录。这种结构称为后进先出结构。4.2 Stacks 10计算机专业英语Chapter 4
16、Data Structure The end of a stack at which entries are inserted and deleted is called the top of the stack.The other end is sometimes called the stacks base.To reflect the fact that access to a stack is restricted to the topmost entry,we use special terminology when referring to the insertion and de
17、letion operations.The process of inserting an object on the stack is called a push operation,and the process of deleting an object is called a pop operation.Thus we speak of pushing an entry onto a stack and popping an entry off a stack.堆栈尾部可以进行插入和删除操作的记录称为堆栈的栈顶,堆栈尾部可以进行插入和删除操作的记录称为堆栈的栈顶,另一端叫做栈底。为了表
18、示如何限制堆栈只能从栈顶访问,另一端叫做栈底。为了表示如何限制堆栈只能从栈顶访问,我们用一种特殊的术语来表示插入和删除操作。把一个对象我们用一种特殊的术语来表示插入和删除操作。把一个对象插入堆栈的操作称为进栈操作,而从堆栈中删除一个对象的插入堆栈的操作称为进栈操作,而从堆栈中删除一个对象的操作称为出栈操作,所以我们常说将一个条目进栈或者将其操作称为出栈操作,所以我们常说将一个条目进栈或者将其出栈。出栈。4.2 Stacks 11计算机专业英语Chapter 4 Data StructureChapter 4 Data StructureThe situation is complicated
19、by the fact that the procedure may itself request the execution of another procedure,which may request still another,and so on(Figure 7.9).Consequently,the return locations being remembered begin to pile up.Later,as each of these procedures is completed,execution must be returned to the proper place
20、 within the program unit that called the completed procedure.A system is therefore needed to save the return locations and later retrieve them in the proper order.如果一个被调用的过程本身还要调用其他过程,而那些过程如果一个被调用的过程本身还要调用其他过程,而那些过程同样也需要调用另外的过程,这样一来整个情形就会很复杂。同样也需要调用另外的过程,这样一来整个情形就会很复杂。因此,返回地址的记忆就开始堆积。然后,当每一个过程都因此,返回
21、地址的记忆就开始堆积。然后,当每一个过程都结束后,操作必须返回到被称为完成过程的程序块中的合适结束后,操作必须返回到被称为完成过程的程序块中的合适位置。因此,系统需要按照适当的顺序存储和找回返回地址。位置。因此,系统需要按照适当的顺序存储和找回返回地址。4.2 Stacks 13计算机专业英语Chapter 4 Data StructureChapter 4 Data StructureAs another example of backtracking,suppose we want to print the names in a linked list in reverse order-t
22、hat is,last name first.Our problem is that the only way we can access the names is by following the linked structure.Thus we need a way of holding each name retrieved until all of the names that follow have been retrieved and printed.Our solution is to traverse the list from its beginning to its end
23、 while pushing the names we find onto a stack.After reaching the end of the list,we print the names as we pop them off the stack.我们在来举另一个例子,假设反向输出一张链接表中的姓名,也就是把最我们在来举另一个例子,假设反向输出一张链接表中的姓名,也就是把最后一个名字第一个输出。问题是我们只能跟着链接结构访问姓名。因此,后一个名字第一个输出。问题是我们只能跟着链接结构访问姓名。因此,我们需要一种方式,通过这种方式,我们可以保持每一个姓名能被检索,我们需要一种方式,通过
24、这种方式,我们可以保持每一个姓名能被检索,直到排列在这个姓名之后的姓名被得到并输出。我们的方案是从链接表的直到排列在这个姓名之后的姓名被得到并输出。我们的方案是从链接表的开始顺序遍历到结尾,与此同时把每一个姓名按照遍历顺序进栈。当到达开始顺序遍历到结尾,与此同时把每一个姓名按照遍历顺序进栈。当到达链接表的末尾后,我们通过出栈操作来输出姓名。链接表的末尾后,我们通过出栈操作来输出姓名。4.2 Stacks 15计算机专业英语Chapter 4 Data StructureStack ImplementationTo implement a stack structure in a compute
25、rs memory,it is customary to reserve a block of contiguous memory cells large enough to accommodate the stack as it grows and shrinks.(Determining the size of this block can often be a critical decision.If too little room is reserved,the stack ultimately exceeds the allotted storage space;if too muc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Chapter Data Structure Computer English 计算机专业 英语
链接地址:https://www.taowenge.com/p-73611801.html
限制150内