转载——用C#学数据结构(1)

第一章   预备知识

数据(Data)是外部世界信息的载体,它能够被计算机识别、存储和加工处理,是计算机程序加工的原料。

数据元素(Data Element)是数据的基本单位,在计算机程序中通常被作为一个整体进行考虑和处理。数据元素有时也被称为元素、结点、顶点、记录等。一个数据元素可由若干个数据项(Data Item)组成。

数据项(Data Item)是不可分割的、含有独立意义的最小数据单位,数据项有时也称为字段(Field)或域(Domain)。

数据对象(Data Object)是性质相同的数据元素的集合,是数据的一个子集。

数据类型(Data Type)是高级程序设计语言中的概念,是数据的取值范围和对数据进行操作的总和。

数据结构(Data Structure)是相互之间存在一种或多种特定关系的数据元素的集合。

4类基本数据结构:集合、线性结构、树形结构、图状结构

数据结构包括数据的逻辑结构和物理结构。数据的存储结构包括顺序存储结构和链式存储结构两种。

算法(Algorithm)是对某一特定类型的问题的求解步骤的一种描述,是指令的有限序列。

特性:有穷性(Finity)、确定性(Unambiguousness)、输入(Input)、输出(Output)、能行性(realizability)

评价标准:、正确性(Correctness)、可读性(Readability)、健壮性(Robustness)、运行时间(Running Time)、占用空间(Storage Space)

C#预备知识

接口(Interface):定义为一个约定,实现接口的类或结构必须遵守该约定。

IComparable接口定义通用的比较方法。由类型使用的IComparable接口提供了一种比较多个对象的标准方式。

IEnumerable接口公开枚举数,该枚举数支持在集合上进行简单迭代。

IEnumerator接口支持在集合上进行简单迭代。是所有枚举数的基接口。

ICollection接口定义所有集合的大小、枚举数和同步方法。

IDictionary接口是基于ICollection接口的更专用的接口。

IList接口实现是可被排序且可按照索引访问其成员的值的集合。

集合(Collection)可以定义为一种对象,这种对象提供了一种结构化组织任意对象的方式,并且实现一个或者多个ICollection、IDictionary和System.Collections.IList接口。这一定义把System.Collections名称空间中的“内置”集合划分成了三种类别:有序集合、索引集合、键式集合。

泛型(Generic Type).NET中强大的功能,将算法与数据结构完全分离开来,使得一次定义的算法能够作用于多种数据结构,从而实现高度可重用的开发。

基于object的容器存在以下问题:性能问题、类型安全、工作效率。

泛型类的定义如下:public class className<T>

泛型类封装了不针对任何特定数据类型的操作。泛型类常用于容器类,如链表、哈希表、栈、队列、树等等。这些类中的操作,如对容器添加、删除元素,不论所存储的数据是何种类型,都执行几乎同样的操作。

posted on 2013-01-17 15:36  others  阅读(234)  评论(0)    收藏  举报

导航