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

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
主站蜘蛛池模板: 华阴市| 文化| 巢湖市| 庆阳市| 扬州市| 和政县| 浙江省| 舞钢市| 铜梁县| 长汀县| 南昌县| 孟州市| 平邑县| 安达市| 红安县| 蓝山县| 蓝山县| 乐清市| 新竹市| 祥云县| 长沙市| 东港市| 西宁市| 随州市| 黄梅县| 饶阳县| 健康| 灵寿县| 武威市| 徐闻县| 辉南县| 苗栗县| 淮北市| 潮安县| 时尚| 黄山市| 镇远县| 乐亭县| 兰溪市| 汝阳县| 景东|