从今天开始,我会跟大家分享一下本人学习数据结构和算法的心得体会,也算是今后的复习笔记,如有说错的地方还望各位大佬批评指正,我定虚心请教。同时也希望刚刚接触数据结构和算法的小白们能养成记笔记的习惯,等你以后学的东西越来越多时,你要查以前学过的东西会很容易地捡起来。
在学习之前,先向大家分享一本书,名叫《大话数据结构》,内容通俗易懂,非常适合刚入门的小白,本人的心得笔记也是在此书的基础上完成,分享链接:大话数据结构 提取码:ss6l
好了,话不多说,下面我们开始吧!

目录

  • 第一章 数据结构绪论
    • 1.1 基本概念和术语
      • 1.1.1 数据
      • 1.1.2 数据元素
      • 1.1.3 数据项
      • 1.1.4 数据对象
    • 1.2 数据结构的定义
    • 1.3 逻辑结构与物理结构
      • 1.3.1 逻辑结构
      • 1.3.2 物理结构

第一章 数据结构绪论

1.1 基本概念和术语

1.1.1 数据

数据:是描述一种事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
它包括数值类型,如整形、实型等;以及非数值类型,如图像、音频、视频等。

1.1.2 数据元素

数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
我们可以将其理解为一类事物的基本单位,比如:Animals类中有猫、狗、老虎、狮子、大象等等,他们都是Animals类中的数据元素。

1.1.3 数据项

数据项:一个数据元素可以由若干个数据项组成。
我们还拿刚才的例子打比方,狗是Animal类的一个数据元素,而对狗来说,它有年龄、毛色、性别等等数据项,也可以有耳朵、嘴巴、眼睛等数据项,具体有哪些数据项应该视情况而定。

1.1.4 数据对象

数据对象:是性质相同的数据元素的集合,是数据的子集。
换句话说,数据对象具有相同数量和类型的数据项,比如,所有的狗都有年龄、毛色、性别等数据项。
在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们都将数据对象简称为数据。

下面我们可以用一张图来看一下它们之间的关系,如图1-1所示

1.2 数据结构的定义

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
我们可以将数据结构分为数据和结构两部分,所谓数据,就是我们理解的字面意义上的不同的数据元素,而结构,就是这些数据元素之间的某种特定关系。

1.3 逻辑结构与物理结构

我们从不同的角度理解数据结构,它可以分为逻辑结构和物理结构。

1.3.1 逻辑结构

逻辑结构:是指数据对象中数据元素之间的相互关系。
它分为以下四种:
1. 集合结构:
集合结构:集合结构中的数据元素同属于一个集合,而它们之间没有其他任何关系。
其关系如图1-2所示:

2. 线性结构
线性结构:线性结构中的数据元素之间是一对一的关系。
其关系如图1-3所示:

3. 树形结构
树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。
其关系如图1-4所示:

4. 图形结构
图形结构:图形结构的数据元素是多对多的关系。
其关系如图1-5所示:

1.3.2 物理结构

物理结构:是指数据的逻辑结构在计算机中的存储形式。
在这里我们打个比方,比如说季节交替,我们要把过季的衣服装到整理箱里,那么在这里,过季的衣服就相当于数据的逻辑结构,箱子相当于计算机,我们要把衣服叠起来才能放到箱子里,那么叠好后的衣服就相当于数据的物理结构。
1. 顺序存储结构
顺序存储结构:是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
其关系如下图1-6所示:

2. 链式存储结构
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
其关系如下图1-7所示:

数据结构与算法心得笔记——零起点学习(一)相关推荐

  1. 数据结构与算法-java笔记一 更新中

    数据结构与算法-java笔记一 更新中 数据结构与算法 什么是数据结构.算法 数据结构学了有什么用: 线性结构 数组 特点 应用 链表 存储结构 链表类型 单链表 双向链表 双向循环链表 链表与数组的 ...

  2. 学习笔记-零基础学习人工智能(0)

    学习笔记-零基础学习人工智能(0) 背景 规划 背景 作为物理专业的大龄青年,由于兴趣爱好想学习下人工智能.主要感兴趣的方向是对抗样本生成.自己也做了一些了解,但是发现千头万绪,不懂的东西太多.为了梳 ...

  3. 学习数据结构与算法心得

    经过了漫长的假期终于也还是开学了,开学的第一周主要还是在学习数据结构与算法,经过了这段时间的学习,只能说是知道了有这么个东西,不管是理解还是使用都还是停留在比较浅显的层次. 通过这段时间的学习,我感觉 ...

  4. 数据结构与算法思维导图(学习笔记)

    版本 数据结构与算法思维导图V1.0 V1.0分享版本这个可以直接看,不需要下载. 说明 1.free 2.目前内容主要包含内容包含: 数据结构与算法思维导图 包含:线性表.顺序结构.链式结构,栈与队 ...

  5. 拿命 3 天肝出来的计算机考研数据结构与算法复习笔记(超详细教程,更新中)

    数据结构与算法 基本概述 数据结构指的是"一组数据的存储结构",算法指的是"操作数据的一组方法". 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. ...

  6. 良心推荐两个学习数据结构和算法的利器,让学习像呼吸一样轻松

    数据结构和算法的重要性想必各位在江湖上早就有所耳闻.它对我们最直接的影响就是面试,一般来说,程序员一面都会涉及数据结构和算法知识,尤其是当前找工作比较难的情况下,各个公司会更加重视对候选人基本能力的考 ...

  7. 数据结构与算法基本笔记

    数据结构与算法基础 1.2. 基本概念和术语1 1.2.1 数据.数据元素.数据项和数据对象 数据(Data) 数据元素(Data Element) 数据项(Data Item) 数据对象(Data ...

  8. 数据结构和算法学多久_重新学习数据结构和算法

    数据结构和算法学多久 为什么? 我记得在我第一次参加计算机科学算法课程时 伊丽莎白市州立大学(ECSU)认为:"我得到了什么 我自己变成了?!". 材料令人生畏,而且(大部分时间) ...

  9. 【已完结!】Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表【附:视频、工程源码、资料、详细笔记】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:z ...

最新文章

  1. 2011-2012年《软件工程》本科期末试卷
  2. Python入门 Python自学路线 Python如何学习
  3. session和cookie的区别和联系---转载
  4. ArduinoIDE安装与配置与第一个程序的烧录和运行——人人都能玩硬件
  5. CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v1.0)
  6. ASP.NET服务器控件数据绑定总结
  7. 【MyBatis使用】mapper.xml 中特殊符号的 2 种处理方法(CDATA区+替代字符举例)
  8. 用 Go 语言,做 Web 编程开发
  9. LeetCode 1473. 给房子涂色 III(DP)
  10. 【学员管理系统】0x01 班级信息管理功能
  11. python零基础学难吗_零基础学习Python难吗?要怎么学Python才是最有效的?
  12. Android 2.3 版本中链接边框问题解决
  13. Python安装cv2库出错及解决:Could not find a version that satisfies the requirement cv2
  14. Perl 脚本命令行传入参数
  15. 渗透工具——Namp基础用法
  16. linux的vi2编辑相关命令,Linux vi/vim编辑器常用命令与用法总结
  17. java课设迷宫游戏_Java课程设计走迷宫.doc
  18. AWVS安装(Windows)
  19. 【免费报名】技术沙龙第22期:美团点评AI实践
  20. 《软件工程与计算(卷二)》-Chapter9-10-软件体系结构

热门文章

  1. 【硬件细分知识-线材与连接器】2、不同AWG线材的通流信息
  2. Missing key(s) in state_dict | unexpected_keys | 模型加载 [torch.load] 报错【解决方案】
  3. 搜索原理解析,影响搜索关键词相关性的五大因素,如何优化店铺标题?
  4. filepath直接指定到文件名吗_FilePath不同含义
  5. 建设一个官网企业网站需要多少成本?
  6. 看了你就知道为什么iTunes要对电脑授权了
  7. 知足常乐--每日十问
  8. 伯努利、辛钦大数定律、中心极限定理
  9. 【已阅】Linux命令行操作/选项介绍,文件分类/内容与属性/绝对相对路径,隐藏文件与整个目录结构
  10. nodeValue、firstChild和lastChild属性