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

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
主站蜘蛛池模板: 曲水县| 炎陵县| 北票市| 浮山县| 平山县| 新野县| 同仁县| 新乐市| 龙川县| 柳州市| 双桥区| 西丰县| 漯河市| 洛浦县| 马鞍山市| 封丘县| 山东省| 泾阳县| 绍兴市| 安阳县| 正镶白旗| 西乌| 永胜县| 桐乡市| 炎陵县| 高青县| 普兰店市| 调兵山市| 天等县| 自贡市| 张家口市| 五峰| 新泰市| 治多县| 五莲县| 武安市| 通山县| 堆龙德庆县| 建宁县| 卢氏县| 高青县|