数据结构——第一课

本文探讨了数据结构与算法的基础概念,强调了正确的学习方法和入门的重要性。介绍了数据结构的定义,即个体及其关系的组合,以及算法作为对存储数据的操作。讨论了算法的衡量标准,包括时间复杂度、空间复杂度、难易程度和健壮性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不知你和我是否一样,当看到数据结构与算法这几个字时,心中充满了欣喜。
我是从学完C语言后看到这本书的,当时寒假放假前几天盘算着看这本书(严奶奶的书)的计划,可是,计划很丰满,现实很骨感。拿回家从第一页开始读起,一连读了三天,然后就,那个假期再也没看过。
究其原因,一是看书学习方法不对,二是没有入门。学一些IT科目多了之后,你会发现,第二个原因真的很重要!(废话不多说,主要是希望自己可以提供些前车之鉴,减少大家一些不必要犯错的时间。共同加油!)

数据结构的概述

定义

我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应的操作,这个相应的操作也叫做算法。

数据结构=个体+个体的关系
算法=对存储数据的操作

狭义定义:

数据结构是专门研究数据存储的问题
数据的存储包含两方面:个体的存储 + 个体关系的存储

广义定义:

数据结构既包含数据的存储也包含数据的操作
(对存储数据的操作就是算法)

算法

一般定义:

解题的方法和步骤

狭义定义:

算法是和数据的存储方式密切相关

广义定义:

算法和数据的存储方式无关,这就是泛型思想

衡量算法的标准:

(1) 时间复杂度

大概程序要执行的次数,而并非是执行的时间(因为同一程序在不同机器上执行的时间是不一样的,有差异)

(2) 空间复杂度

算法执行过程中大概所占用的最大内存

(3) 难易程度

(4) 健壮性

数据结构的地位:
数据结构是软件中最核心的课程
程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言

泛型:
对于同一种逻辑结构,无论该逻辑结构的物理存储是什么样子的,我们可以对它执行相同的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值