数据结构概述

目录

  • 数据结构
    • 定义
    • 逻辑结构
    • 物理结构
  • 算法
    • 定义
    • 时间复杂度
  • 线性表
    • 定义
    • 单链表和顺序数组的效率
    • 单链表设头结点的目的
    • 其他链表
  • 栈和队列
    • 队列
    • 链栈和顺序栈的适用情况
    • 计算机处理中缀表达式

数据结构

定义

相互之间存在一种或多种特定关系的数据元素的集合

逻辑结构

  • 集合结构
  • 线性结构
  • 树形结构
  • 图形结构

物理结构

  • 顺序存储结构
  • 链式存储结构

算法

定义

解决特定问题求解步骤的描述

时间复杂度

一般在没有特殊说明的情况下,都是指最坏的时间复杂度

线性表

定义

零个或多个数据元素的有限序列

单链表和顺序数组的效率

对于插入或删除数据越频繁的操作,单链表的效率优势就越是明显

单链表设头结点的目的

使空链表与非空链表处理一致

其他链表

双向链表:用空间换取时间

栈和队列

限定仅在表尾进行插入和删除操作的线性表 分为顺序栈和链栈 顺序栈的拓展:两栈共享空间

队列

只允许在一端进行插入操作,而在另一端进行删除操作 分为顺序队列和链队列 顺序队列的拓展:循环队列

链栈和顺序栈的适用情况

选择链栈:如果栈的使用过程中元素变化不可预料,有时很小,有时非常大。 选择顺序栈:它的变化在可控范围内

计算机处理中缀表达式

  • 将中缀表达式转化为后缀表达式
  • 将后缀表达式进行运算得出结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python_web(三)一个简单web后端框架

    星辉
  • 域名解析及连接服务器的相关问题

    星辉
  • python_web(一)实现HTTP客户端的程序

    星辉
  • PHP全栈学习笔记29

    PHP是面向对象,指令式编程,设计者是 拉斯姆斯·勒多夫 出生于格陵兰岛凯凯塔苏瓦克,是一个丹麦程序员,他拥有加拿大国籍。他也是编程语言PHP的创始人,其中PH...

    达达前端
  • [L2]快速掌握Series~Series的属性

    由于在公众号上文本字数太长可能会影响阅读体验,因此过于长的文章,我会使用"[L1]"来进行分段。这系列将介绍Pandas模块中的Series,本文主要介绍:

    触摸壹缕阳光
  • 配置 Node.js 开发环境——使用 Atom

    Node.js 的开发环境选择很多,比如 WebStrom/Visual Studio Code/Atom/HBuilder,还有万能的 Vim/Emacs 等...

    mzlogin
  • 小米发布米兔积木机器人,这次又是抄袭的?

    小米推出了双十一四大新品的最后一件——米兔积木机器人。这款机器人由978个零件构成,用户可自由组装零件,DIY不同的外形。在操作上,机器人支持手机遥控和模块化图...

    机器人网
  • 中国机器人革命将获成功的三大理由

    美媒称,富士康公司长期以来一直被视为中国制造业的领导者。四年前,当这家中国规模最大的私营雇主和苹果公司iPhone手机的主要装配商为旗下120万员工涨薪(涨幅高...

    机器人网
  • 视频架构搜索

    Video 机器人技术研究人员Michael S. Ryoo和学生研究员AJ Piergiovanni发布。了解视频是一个具有挑战性的问题。由于视频包含时空数据...

    代码医生工作室
  • 微服务架构下的测试之道

    1.系统架构的演变 伴随着互联网的快速发展,Web应用系统从面向企业内部发展到面向市场用户,业务的日趋复杂以及用户量的上升,那些曾经工作良好的单体应用开始遇到...

    架构师小秘圈

扫码关注云+社区

领取腾讯云代金券