数据结构和算法初步了解

[size=small][color=indigo][b]数据结构和算法的作用:
数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排;
数据结构包括:数组、链表、栈、二叉数、哈希表等等。算法则是对这些结构中的数据进行各种处理;
例如:查找一条特殊的数据项或对数据项进行排序;

显示世界中的建模:
有些数据结构能直接对真是世界的情况构造模型。其中最重要的数据结构是图,图可以用来
表示城市之间的航线,电路中的连接,或是某一工程中的任务安排关系;
例如:一个队列可以模拟顾客在银行中排队等待的模型,还可以模拟汽车在收费站等待缴费的模型;

数据结构的特性:
[table]
| 数据结构 优点 缺点|
| ----------------------------------------------------------------|
| 数组 插入快,如果知道下标,可以非常快的存取 查找慢,删除慢,大小固定|
| 有序数组 比无序的数组查找快 删除和插入慢,大小固定;|
| 栈 提供先进后出的方式存取 存取其他项慢|
| 队列 提供先进先出方式的存取 存储其他项很慢|
| 链表 插入快,删除快 查找慢|
| 二叉树 查找、插入、删除都快 删除算法复杂|
| 红-黑树 查找、插入、删除都快,树总是平衡的。 算法复杂 |
| 2-3-4树 查找、插入、删除都快,树总是平衡的。 算法复杂|
| 类似的树对磁盘存储有用 |
| 哈希表 如果关键字已知则存取极快,插入快 删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分;|
| 堆 插入、删除快、对最大数据项存取很快 对其它数据项存取慢|
| 图 对现实世界建模 有些算法慢且复杂|
| --------------------------------------------------------------------------------|
[/table]

注:java语言中一个类的对象字段被称为字段,但是在c++中称之为成员;

面向对象的几个重要的特性:
* 对象同时包括方法和字段(数据);
* 类是任意数目的对象的说明;
* 创建一个对象,要将关键字new和类的名称连用;
* 调用一个对象的方法,要使用点运算符;

面向对象编程的两个重要特征:继承和多态;
继承:由基类扩展或派生形成一个新类,这个扩展类拥有基类的所有属性,并加上了其他属性;
多态:以相同的方法处理来自不同类的对象。 为了能够正常的运行,这些不同的类必须从同
一个基类中派生出来,实际上,多态经常指的是通过一种方法的调用,而实质是对不同的类的
对象执行不同的方法;


[/b][/color][/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值