241114.学习日志——[CSDIY] [CS]数据结构与算法 [00]

CSDIY:这是一个非科班学生的努力之路,从今天开始这个系列会长期更新,(最好做到日更),我会慢慢把自己目前对CS的努力逐一上传,帮助那些和我一样有着梦想的玩家取得胜利!!!

第一弹:Cpp零基础学习【30 DAYS 从0到1】

第二弹:Cpp刷题文档【LeetCode】

第三弹:Go开发入门【字节后端青训营】

第四弹:Cpp简单项目开发【黑马Rookie】

第五弹:数据结构绪论【数据结构与算法】

总所周知,计算机四大天王:数据结构、计算机网络、计算机组成与结构、计算机编译系统

其中数据结构应该是本科最早接触的一门,本次CSDIY就是博主初入数据结构的学习笔记,所用教材为《大话数据结构》,学习周期大约为14days(不含实践)。适合具有C语言基础的学习者学习。

1.3 数据结构起源

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

程序设计 =数据结构+算法

1.4 基本概念和术语

数据→数据元素→数据项→数据对象→数据结构

数据(Data):

用于描述客观事物的数值、字符等一切可以输入到计算机中,由计算机加工处理的符号集合。

数据元素(Data Element):

数据的基本单位,数据中的一个个体。处理时作为一个整体看待。

数据项(Data Item):

构成数据元素的成分,是数据不可分割的一部分。

数据对象(Data Object):

具有相同特征的数据元素的一个集合,他是数据的子集。注:数据对象可以是有限或无限的。

结构(Structure)

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

1.5 逻辑结构与物理结构

逻辑结构

  • 集合结构:元素同属于一个集合,此外无其他关系
  • 线性结构:一对一的关系
  • 树形结构:一对多的关系
  • 图形结构:多对多的关系

物理结构

物理结构:是指数据的逻辑结构在计算机中的存储格式

  • 顺序存储结构:逻辑结构与物理关系一致 EX:数组
  • 链式存储结构:存储单元可以不连续 EX:链表

逻辑结构是面向问题的,物理结构是面向计算机的。

1.6 数据类型

数据类型:一组性质相同的值的集合及定义在此集和上的一些操作的总称

抽象数据类型

抽象数据类型(Abstract Data Type,ADT):一个数学模型及定义在该模型上的一组操作

三个部分组成:数据、关系、操作。

c 复制代码
ADT 抽象数据类型名
Data
    数据元素之间逻辑关系的定义
Operation
    操作1
        初始条件
        操作结果描述
    操作2
        ...
    操作3
        ...
    endADT

碎碎念,绪论一直被认为是一门课最不重要的一部分,在我看来,恰恰相反,一门课往往是最吸引我进行这门课学习的部分,相比于之后的高级复杂的术语来说,绪论部分简单的引入和吸引兴趣的表达往往带给我很多想法。其次,这一部分笔记其实大部分写于2407,对CS的兴趣驱使我进行提前预习,加之本学期也有相关课程,我也再重新整理了部分,并分享给各位,希望能够有帮助。

相关推荐
远游客07131 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<1 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟1 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
南宫生2 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__2 小时前
Web APIs学习 (操作DOM BOM)
学习
LIKEYYLL3 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3214 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3214 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
数据的世界014 小时前
.NET开发人员学习书籍推荐
学习·.net