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

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
主站蜘蛛池模板: 咸阳市| 凤凰县| 长宁区| 天气| 江达县| 英超| 长岛县| 抚州市| 铜川市| 右玉县| 滁州市| 常宁市| 得荣县| 安多县| 昌江| 高密市| 济阳县| 北碚区| 察雅县| 钟祥市| 澄城县| 怀宁县| 阜平县| 岚皋县| 阳山县| 英吉沙县| 屏东县| 疏勒县| 那坡县| 拜泉县| 定日县| 奉化市| 漳浦县| 县级市| 曲阳县| 福州市| 鄄城县| 手游| 武定县| 盐山县| 彰武县|