官术网_书友最值得收藏!

Chapter 3. Protocols – Abstract Data Types

In the last chapter, we saw a few basic data structures and some algorithms to manipulate them. However, sometimes we may want to hide the implementation details of a data structure and only want to know how they interact with other algorithms. We may want to specify a few operations that they must allow and forget about how they are achieved. This is not very different from abstraction of a part of a program in any large software application. For example, in Java, we create interfaces that only define the methods of an object that its class must implement, and then we use this interface type, being confident that they will be implemented properly. We do not want to think about how an implementation class would provide their implementation. Such interfaces of data structure are called abstract data types. To put this another way, an abstract data type (ADT) is a description of what a data structure should do for its user. It is a list of operations that any implementation must support and the complete description of what these operations are supposed to do. A few of these have very frequent usage and have names given to them. We will discuss a few of these here.

In this chapter, you will learn about the following concepts:

  • The definition of some common ADTs and their operations
  • How to implement these ADTs using both simple arrays and the data structures you learned in the last chapter
主站蜘蛛池模板: 太康县| 五大连池市| 红桥区| 边坝县| 芦山县| 普定县| 高要市| 林州市| 泰安市| 黄浦区| 石景山区| 科尔| 浠水县| 安丘市| 苏尼特左旗| 历史| 京山县| 福建省| 松桃| 新和县| 汝州市| 宁夏| 扎兰屯市| 芦溪县| 东兴市| 莎车县| 方正县| 商水县| 北海市| 洪雅县| 陇西县| 万全县| 莱阳市| 曲松县| 体育| 连云港市| 济阳县| 珠海市| 富宁县| 双柏县| 沙雅县|