【数据结构】01顺序表(C&Python)

本文介绍了面向对象编程的基础,以及在数据结构课程中涉及的概念,如数据元素、数据项和数据对象。详细讲解了线性表(顺序存储)的定义、操作以及C语言和Python中的实现差异,重点强调动态内存分配和C语言中的内存管理。最后以C语言题目为例,探讨了合并有序字符串的问题。

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

在我们这个系列的Post中,我会尽量用一些简明且没那么枯燥的语言、任务和简单代码来说明。完整的系列我想从面向对象到数据结构、再到机器学习和神经网络等等。目的是高中生的快速入门(因为你们已经在高中阶段学过基本的面向过程的Python语法了)和在校生的同步学习,希望我的代码块可以帮助到大家。

就和物理学当中的质能方程(E=mc²)一样,在程序的世界中,也有类似的方程:

Program = Structure + Algorithm(算法)

大家在学习《数据结构》这门课程时,我们会学习基础的数据结构和一些简单的算法,所以有的学校这门课也叫作“数据结构与算法基础”,在此基础上,我们日后就可以深入学习算法分析了。

首先我们看一些抽象的概念,对于他们我们品读一下就好,保证以后使用概念时不要太云里雾里即可。

(1)数据是对客观事物的符号表示
(2)数据元素是数据的基本单位
(3)数据项是构成数据元素的最小单位
(4)数据对象是具有相同性质的数据元素的集合

对于(2)(3)(4)来说,我们可以这样理解:

苏州产业园区有片小区商品房,一个商品房的信息记录为一个数据元素,面积、楼层、价格等等就是一个个数据项。房子信息的集合就是一个数据对象。

(5)数据结构就是相互之间存在一种或者多种特定关系的数据元素的集合,它包括三方面内容:逻辑结构、存储结构、数据运算。
Date_Structure = (D, S) [D是数据元素的有限集合,S是D上关系的有限集合]

对于(5)来说,我们在此主要需要研究的是分类中的前两个,“逻辑结构”&“存储结构”

逻辑结构分为线性和非线性的结构
存储结构分为顺序存储、链式存储、索引存储、散列存储

逻辑结构还是存储结构的这几种分类,它们有各有优劣势,具体的使用方式和Coding 我们将会在今后具体的实践中了解。
 

我们即刻开始实践,开启你的数据结构之旅吧!

L = \left (a_1, a_2,\ldots, a_i, a_{i+1},\dots,a_n \right)

这一长串和你学线性代数时学的n维向量差不多的东西,就是一个名字为L的一个线性表。

再此时我们需要搞清楚两点,

(1)它是具有相同数据类型的n个数据元素的有限的序列。

(2)a_1a_2的直接前驱,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值