抽象数据类型:表、栈和队列

目录

表(list)

描述:

操作:

实现:

链表应用:

栈(stack)

描述:

操作:

实现:

应用:

队列(queue)

描述:

操作:

实现:

应用:

参考:


表(list)

描述:

表是一组 可数的、有序的数值,可以包含相同的数值。

(可数指的是表包含的数值个数可以获取;有序指的是表中的所有数值都是按一定的顺序存放的。例如表 a,b,c,  表的大小是3;b在a的后一位,在c的前一位。)

操作:

  1. MakeEmpty()
  2. DeleteList()
  3. PrintList()
  4. Find()
  5. FindKth()
  6. Insert()
  7. Delete()
  8. Next()
  9. Previous()
  10. IsEmpty()
  11. ......

实现:

  • 数组(array)

O(n):  PrintList() 、 Find()、 Insert()、Delete()

O(1):  FindKth()

  • 链表(linked list)

包括双链表、循环链表

O(n):  PrintList() 、 Find()、FindKth()、Delete()

O(1):Insert()、

链表应用:

多项式:表示一元多项式

基数排序(radix sort)

 

栈(stack)

描述:

栈是先进后出的表。

操作:

  1. Push()
  2. Pop()

实现:

  • 数组
  • 链表

应用:

  • 平衡符号

编译器检查程序的语法错误,方括号,小括号,大括号是否对应。

  • 后缀表达式

科学计算器表示计算数和符号

  • 函数调用

在函数调用时,主调函数的所有状态存储栈中。

 

队列(queue)

描述:

先进先出的表。

操作:

  1. Enqueue()
  2. Dequeue()

实现:

数组

应用:

打印机打印队列

窗口售票排队

电话呼叫等待队列

 

参考:

1.表

https://en.wikipedia.org/wiki/List_(abstract_data_type)

2.栈

https://en.wikipedia.org/wiki/Stack_(abstract_data_type)

3.队列

https://en.wikipedia.org/wiki/Queue_(abstract_data_type)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值