数据结构和算法(01)之综述

本章重点

  • 数据结构和算法能起到什么作用?
  • 数据结构的概述
  • 算法的概述
  • 一些定义
  • 面向对象编程
  • 软件工程
  • 对于c++程序员的java
  • java数据结构的类库

一、数据结构和算法能起到什么作用?

数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排。
数据结构包括数组、链表、栈、二叉树、哈希表等

现实世界数据存储

程序员工具

建模

二、数据结构的概述

  • 数据结构的特性
数据结构 优点 缺点
数组 插入快,存取快 查找、删除慢,大小固定
有序数组 比无序数组查找快 查找、删除慢,大小固定
后进先出 存取其它项很慢
队列 先进先出 存取其它项很慢
链表 插入、删除快 查找慢
二叉树 查找、插入、删除都快(如果保持树平衡) 删除算法复杂
红-黑树 查找、插入、删除都快(树总是平衡的) 算法复杂
2-3-4树 查找、插入、删除都快(树总是平衡的)类似的树对磁盘存储有用 算法复杂
哈希表 若关键字已知则存取极快,插入快 删除慢,若不知道关键字则存取极慢,对存储空间使用不充分
插入、删除快,对最大数据项存取很快 对其他数据项存取慢
对现实世界建模 有些算法慢且复杂

除数组之外,其它数据机构都可以被认为是抽象数据结构(ADT)

三、算法的概述

  • 需要知道

    • 如何插入一条新的数据项
    • 寻找某一特定的数据项
    • 删除某一特定的数据项
  • 另一种算法使用范畴

    • 排序

四、一些定义

数据库(database)

记录(record)

字段(field)

关键字

五、面向对象编程

过程性语言问题

  1. 程序与现实世界缺乏对应关系
  2. 程序内部结构出了问题

对象简述

  • 对象
  • 创建对象

一个能运行的面向对象程序

继承与多态

六、软件工程

七、对于c++程序员的java

八、java数据结构的类库


小结

  1. 数据结构是指数据在计算机内存空间中或磁盘中的组织形式
  2. 正确选择数据结构会使程序的效率大大提高
  3. 数据结构的例子有数组、栈、链表
  4. 算法是完成特定任务的过程
  5. 在java中,算法经常通过类的方法实现
  6. 一些数据结果的用途是作为程序员的工具,它们帮助执行算法
  7. 其它数据结构可以模拟现实世界中的情况。例如,城市之间的电话线网
  8. 数据库是指由许多类似的记录组成的数据存储集合
  9. 一条记录经常表示现实世界中的一个事物,例如一名雇员或一个汽车零件
  10. 一条记录被分成字段。每个字段都存储由这个记录所描述事物的一条特性
  11. 一个关键字是一条记录的一个字段,通过它可以对数据执行许多操作。例如,人事记录可以通过lastname字段进行排序

QQ交流群:217803006

你可能感兴趣的:(数据结构和算法)