计算机专业英语一DataStructu.ppt
《计算机专业英语一DataStructu.ppt》由会员分享,可在线阅读,更多相关《计算机专业英语一DataStructu.ppt(30页珍藏版)》请在三一办公上搜索。
1、Computer English,Chapter 4 Data Structure,计算机专业英语,4-2,Key points:useful terms and definitions of data structureDifficult points:Stack,queue,tree,计算机专业英语,4-3,Requirements:,1.Three reasons for using data structures are efficiency,abstraction,and reusability.,2.The properties of Stack,Queue,and Tree,3.
2、掌握常用英汉互译技巧,计算机专业英语,4-4,New Words&Expressions:harsh table 杂凑(哈希)表priority queues 优先队列reusability n.复用性binary tree 二叉树traversing 遍历,走过context-free 与上下文无关,4.1 An Introduction to Data Structures,计算机专业英语,4-5,Data comes in all shapes and sizes,but often it can be organized in the same way.For example,cons
3、ider a list of things to do,a list of ingredients in a recipe,or a reading list for a class.Although each contains a different type of data,they all contain data organized in a similar way:a list.A list is one simple example of a data structure.Of course,there are many other common ways to organize
4、data as well.In computing,some of the most common organizations are linked lists,stacks,queues,sets,hash tables,trees,heaps,priority queues,and graphs.Three reasons for using data structures are efficiency,abstraction,and reusability.,数据以各种形状和大小出现,但是它常常可以用同样的方式来组织。例如,考虑要做事情的列表、处方成份的清单或一个班级的阅读目录。虽然它们
5、包含不同类型的数据,但他们都包含以一种相似方式组织的数据:一个列表。列表是数据结构的一个简单例子。当然,还有许多其他组织数据通用方法。在计算机技术中,一些最常用的组织方式是链接表、堆栈、队列、集合、哈希表、树、堆、优先队列和图。使用数据结构的三个原因是效率、抽象性和复用性。,4.1 An Introduction to Data Structures,计算机专业英语,4-6,Efficiency Data structures organize data in ways that make algorithms more efficient.For example,consider some
6、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 until the desired element is found.However,this method is inefficient because in many cases we end up traversing every element.By using anot
7、her type of data structure,such as a hash table or a binary tree we can search the data considerably faster.,效率数据结构使用令算法更有效率的方法组织数据。例如,考虑一些我们用来查找数据的组织方式。一种过分简单的方式是将数据放置到数组中,并用遍历的方法找到需要的元素。然而,这种方法是低效率的,因为在许多情况下,我们需要遍历所有元素才能完成。使用其他类型的数据结构,如哈希表和二叉数,我们能够相当快速地搜寻数据。,4.1 An Introduction to Data Structures,
8、计算机专业英语,4-7,Abstraction 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 details of ho
9、w to implement each operation.In other words,data structures let us talk about programs in a less programmatic way.,抽象化数据结构提供一个更好理解的方法查看数据;因此,它们在解决问题中提供一定的抽象化水平。例如,通过把数据储存在堆栈中,我们可以将重点集中在对堆栈的操作上,如使元素进栈和出栈,而不是集中在实现操作的细节上。换句话说,数据结构使我们以较少的编程方式谈论程序。,4.1 An Introduction to Data Structures,计算机专业英语,4-8,Reus
10、ability Data structures are reusable because they tend to be modular and context-free.They are modular because each has a prescribed interface through 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 str
11、uctures 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 store 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.,复用性:因为数据结构趋向于
12、模块化并和环境无关,所以数据结构是可以复用的。因为每种结构有一个预定的接口,通过该接口限制访问存储在数据结构中的数据,所以它们是模块化的。也就是说,我们只能使用接口定义的那些操作来访问数据。因为数据结构能用于任何类型的数据,并用于多种环境中,所以数据结构与使用环境无关。在C语言中,我们通过使用空指针,而不是通过维护非公开的数据备份,使数据结构存储任何类型的数据。,4.1 An Introduction to Data Structures,计算机专业英语,4-9,New Words&Expressionsinviting adj.引人动心的contiguous adj.邻近的,接近的stack
13、 n.堆栈insertion n.插入deletion n.删除,删除部分pop 退栈push 进栈backtrack v.回溯pseudocode n.计伪代码retrieve v.重新得到;n.找回pointer n.指针pertinent adj.有关的,相干的,中肯的extract vt.取,引 back out 返回entail vt.使承担,带来traverse v.遍历shrink v.收缩allot vt.分配,充当,依靠predecessor n.前辈,前任back and forth adv.来来往往地,来回地vacancy n.空,空白,空缺stuff vt.填充,塞满A
14、bbreviationsLIFO(last-in,first-out)后进先出FIFO(first-in,first-out)先进先出,4.2 Stacks,计算机专业英语,4-10,One 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 poten
15、tial of forcing the massive movement of names to fill or create holes in 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
16、in which all insertions and deletions are performed at the same end of the 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.,插入和删除记录的需求是使链接表结构比邻接表结构更诱
17、人的原因之一。让我们回想一下在邻接表中具有填补和创建存储空缺能力的操作。如果我们限制这种操作只可以在结构的尾部进行,则邻接表就是一种比较方便的系统。这种现象的一个例子就是堆栈。在堆栈中,插入和删除操作都在结构的相同末端进行。如此限制的结果就是最后一个进入表的记录也就是第一个从表中删除的记录。这种结构称为后进先出结构。,4.2 Stacks,计算机专业英语,4-11,The end of a stack at which entries are inserted and deleted is called the top of the stack.The other end is sometim
18、es 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 deletion operations.The process of inserting an object on the stack is called a push operation,and the process of deleting an object
19、is called a pop operation.Thus we speak of pushing an entry onto a stack and popping an entry off a stack.,堆栈尾部可以进行插入和删除操作的记录称为堆栈的栈顶,另一端叫做栈底。为了表示如何限制堆栈只能从栈顶访问,我们用一种特殊的术语来表示插入和删除操作。把一个对象插入堆栈的操作称为进栈操作,而从堆栈中删除一个对象的操作称为出栈操作,所以我们常说将一个条目进栈或者将其出栈。,4.2 Stacks,计算机专业英语,4-12,Stack ImplementationTo implement a
20、stack structure in a computers 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 allot
21、ted storage space;if too much room is reserved,memory space will be wasted.)One end of this block is designated as the stacks base.It is here that the first entry pushed on the stack is stored,with each additional entry being placed next to its predecessor as the stack grows toward the other end of
22、the reserved block.,栈的实现为了在计算机存储中实现栈结构,一般采取的方法是保留一块足够容纳栈大小变化的内存单元。(通常来说,确定块的大小是一个很重要的任务。如果保留的空间过小,那么栈最后可能从所分配的存储空间中溢出;而如果保留的空间过大,又是一种浪费。)块的一端作为栈底,栈的第一条数据会被存储在这里,以后的条目被依次放置在它之后的存储单元中,也就是堆栈向另外一端增加。,4.2 Stacks,计算机专业英语,4-13,A programmer would probably find it advantageous to write procedures that perfor
23、m these push and pop operations so that the stack could be used as an abstract tool.Note that these procedures should handle such special cases as attempts to pop entries from an empty stack and to push entries onto a full stack.In particular,a complete stack system would probably contain procedures
24、 for pushing entries,popping entries,testing for an empty stack,and testing for a full stack.,程序员也可以将堆栈编写成一个可以进行进栈和出栈操作的抽象工具。注意,这些过程应该可以处理诸如试图从空栈中弹出数据,或者将数据压入一个已经填满的堆栈等特殊情况。所以一个完整的堆栈系统应该包括进栈、出栈、测试堆栈是否空或满的功能。,4.2 Stacks,计算机专业英语,4-14,New Words vt.使移居,使移植circular queue 循环队列envision vt.想象,预想bridge vt.跨接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 英语 DataStructu
链接地址:https://www.31ppt.com/p-6023388.html