数据结构的基本概念

数据结构

  • 前言
    数据结构对于程序员来说是无法绕过的一门专业课.对于从未接触过数据结构的小白,提前自学是很有必要的,学习了数据结构,可能会对算法的练习有很大的帮助,另外,这是我的第一篇博客,很兴奋开启这一条道路,希望我可以一直坚持下去.借助博客来记录自己的学习过程。另外有关的程序所用语言为java语言.

  • 基本概念
    1.关于数据结构的官方定义:
    (1)数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。------《数据结构,算法与应用》
    (2)数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。—《数据结构与算法分析》

    2.书架上摆书的实例:在书架上摆放书籍,并且实现新书的插入和指定书籍的寻找,以下是三种不同的方法.
    (1)随便放

      插入新书:随便放
      找书:很难寻找
    

    (2)按照首字母放

     插入新书:按照首字母插入
     找书:二分查找(会在下一篇博客中单独减少并用代码实现)
    

    (3)分出几块不同的区域,存放不同类的书,并且按照书的首字母排放

      插入新书:确定书的类别,按照首字母排放
      找书:二分查找
    

    结论:1.解决问题的效率和数据的组织方式有关
    2.解决问题的效率和空间的利用效率有关(分别用循环法和递归法实现1~N的打印会有差别,会在之后单独的博客中写到)
    3.解决问题的效率和算法的巧妙程度有关(用clock tick来测试程序运行时间,后续博客单独可见)

4.有关于抽象数据类型(ADT):
(1)数据类型
*数据对象集
* 数据集合相关联的操作集
(2)抽象(不具体):描述数据类型的方法不依赖于具体实现
*与存放数据的机器无关
*与数据存储的物理结构无关
*与实现操作的算法和编程语言均无关.

它的标准格式:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结构描述
操作2

操作n

endADT

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值