数据结构基础概念总结2.28

数据结构基础概念总结2.28

英文对应中文
Data Item数据项
Data Element数据元素
Data数据
Keyword/ Primary Keyword关键字/主关键字
Data Structure数据结构
Index序号(索引)
Node结点
Traverse遍历
Sort排序

一、基本概念

1.什么是数据?

数据项组成数据元素,数组元素的集合称为数据。

  • 数据项是XXXX中有XX含义的、不可XX的XXXX单位。
  • 数据元素是XX的XX单位。

2.什么是数据结构?

指n个数据元素之间组成的有限集合,元素间存在某种特定的关系.

包含三个方面:逻辑结构、存储结构、操作。

3.什么是关键字/主关键字?

能够识别该元素的一个或多个数据项/唯一识别数据元素的关键字。

【数据元素;独立;分割;最小标识;数据;基本】


二、逻辑结构

(使用前驱数据元素、后继数据元素可以定义)

1.线性结构:?

采用XX(index)确定数据元素的逻辑次序,数据元素之间有XX关系

  • e.g:简单表格
2.树结构:?

有XX关系的非线性结构,其中的数据元素常被称作XX

  • e.g:组织架构
3.图结构:?
  • e.g:合作关系,路径

【序号;顺序;层次;结点】


三、存储结构

定义:数据元素及其XX在计算机中的存储XX或XX

1.顺序存储结构e.g.数组

申请空间、获取空间、返回基地址

困难:当存储空间不连续的时候无法获取

2.链式存储结构

头指针+(数据域+下一个元素的地址指针)*n

PS:二者可以结合起来实现存储,且结点已经为最小单位。

【关系;表示;实现】


四、数据操作

1.初始化

int a[] = {1, 2, 3, 4, 5};

2.判断是否为空状态

if(str.equals("") || str == null )

PS:区分String里面的空串和null串。

  • 空串是长度为0内容为空
  • null串是没有指向任何对象

3.存储,指获得、设置特定元素

public char charAt(int index)
public String replace(char oldChar,char newChar)

4.统计数据元素个数

public int length()

5.遍历+查找

public int indexOf(int ch)
public int indexOf(int ch,  int fromIndex)
public int lastIndexOf(int ch)
public int lastIndexOf(int ch, int fromIndex)

6.插入、删除指定元素

public String trim()//删去首尾多余的空格
str.insert(int index,String str2)

7.排序


五、数据类型与抽象数据类型

1.数据类型:

一个类型和定义在这个类型上的XX的集合

  • 基本数据类型:int…
  • 构造数据 类型:数组、类、结构
2.抽象数据类型(ADT)

一个XX模型和定义在该模型上的一组XX

即抽象类(包含变量和方法),包括数据的逻辑结构和数据操作

【例1】编写复数的抽象数据类型,要求可以实现的操作有复数加减法

ADT Complex//缺省抽象类?
{
    double real, imag;
    Complex(double real,double imag)//构造方法
    Complex add(Complex c)//add方法,返回值类型为Complex且传入参数也为Complex
    Complex sub(Complex c)//注意,是抽象方法后面没有分号
}       

【例2】编写集合的抽象表示与实现,要求:使用泛型,且实现以下操作功能

  • 判断集合是否为空
  • 返回集合元素个数
  • 查找关键字为key的元素
  • 增加元素x
  • 取出某个元素x,并返回它
  • 删除所有元素
  • 返回集合所有元素描述的字符串
  • 返回包含集合所有元素的数组
  • 运算:去并集
ADT Set<T>// 抽象泛型类
{
    //没有需要定义的数据成员
    //以下是抽象方法
    boolean isEmpty()
    int size()
    T search(T key)//因为元素的类型不确定
    boolean add(T x)//?void
    T remove(T x)
    void clear()
    String toString(T set)
    Object[] toArray(T set)//因为不知道对象的类型,所以用object
    bollean addAll(Set<?extends T>set)//?为泛型通配符,整个语句是说T及其任何一个子类
}
3.四种常见的数据结构
名称特点
1)线性表可重复的无序集合,按照index排序
2)排序线性表可重复的排序集合,按照keyword排序
3)散列表不可重复的无序集合,keyword不重复不排序
4)二叉排序树不可重复的排序集合,keyword不重复,但是排序
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值