数据结构和算法---第一章(综述)

一、什么是数据结构?什么是算法?

  数据结构是指数据在计算机的内存或者磁盘上的存储情况,也是对数据的逻辑结构和物理结构研究。算法则是指对数据的各种处理方法。例如:增加数据、删除数据、修改数据、查找数据(即CRUD)、和对数据进行排序等。总之,学好数据结构对一个程序员来说非常重要,学好这个课程有利于我们对现实世界中数据的存储,起到建模的作用,是程序员的重要工具。

二、数据结构的概述

  常见的数据结构有:数组、有序数组、栈、队列、链表、二叉树、红-黑树、2-3-4树、哈希表、堆、图等。下面我们用表格列出它们的优缺点。

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

三、算法的概述

  程序=数据结构+算法,算法的文本意思是对模型分析的一组可行的,确定的,有穷的规则,它有五个特征:有穷性确定性可行性输入输出

四、名词定义

数据库(database)

  数据库是按照数据结构来组织、存储和管理数据的仓库。例如一个存放着所有学生的各项信息数据的数据集就可以称为一个数据库。

记录(record)

  记录是指数据库中划分成的单元,例如某一个学生在数据库中所有的信息就可以称为一条记录,在java中一个记录被称为一个相应类的对象,例如一个学生就可以称为一个对象。

字段(field)

  一条记录可由多个字段组成,例如一个学生的数学成绩可以称为一个字段,在java中字段又被称为变量或者成员。

关键字(keyword)

  在数据库中查找一条记录,需要指定某一个字段作为唯一的标识来区别每条记录,这个被指定被用来做唯一标识的字段就是关键字。例如学生的学号。

五、基本数据类型

名称大小(按位计)取值范围
boolean1true或false
byte8-128 ~ +127
char16‘\u0000’ ~ ‘uFFFF’
short16-32768 ~ +32767
int32-2147483648 ~ +2147483647
long64-9223372036854775808 ~ +9223372036854775807
float32约10-38 ~ 10+38;7位有效数字
double64约10-308 ~ 10+308;15位有效数字
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空圆小生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值