C语言之浅谈数据结构和算法

前言

所有的程序都是由数据结构和算法两个部分组成的,数据结构是实体,而算法是将他们联系在一起的各种手段。                                                                          ——《21天学通C语言》

        不管是C语言程序还是其他各种语言程序,数据结构和算法都是程序的基础 

数据结构、算法的概念

数据结构

        什么是数据结构?

        很多地方给出的概念是:数据和他们之间的结构。但是笔者认为,解释成研究有结构的数据的学科更为形象。 

        数据结构作为程序中的基本使用单位,当作一个整体来使用,数据类型通常有三种。

  1. 单个数据:单个的不可拆分的数据,比如姓名、CSDN、78、李华等
  2. 多个数据:比如2024年4月11日16时16分32秒,这显然不能被称为单个数据,而是多个数据的组合
  3. 单个数据与多个数据的集合:

        比如

                 {

                        姓名        李华

                        年龄        20

                        生日        2004年6月8日

                 }

        花括号内的数据,举个例子可以称之为李华同志的个人信息,其中生日两个字显然是单个数据组成的数据结构,而 2004年6月8日这些时间性的数据显然就是由多个数据组成的数据结构啦。

        不知道会不会有读者跟笔者一样是钻牛角尖狂魔,产生了单个数据“李华”不也是由“李”和“华”两个汉字数据构成的,“李”这个字不也是由很多笔画构成的等等抽象的想法,针对于此,笔者做出以下思辨。

  • 单个数据和多个数据的区别:单个数据虽然可以拆分,但是拆分之后的性质是与原数据不同的,比如”李华”是一个名字,而“李”和“华”就只是一个汉字,至少可以说与李华本人没啥关系。而多个数据拆开之后性质也往往是相同的,比如2024年4月11日16时16分32秒,拆开来看每一部分都跟原数据一样都是时间。多个数据的集合,可以进行元素的增加、删除、查找、排序等更复杂的操作,而单个数据只能进行简单的个体操作。(此为笔者个人浅薄看法,如有其他见解可以评论区交流)

算法

        什么是算法?

        算法是求解问题的一系列计算步骤。简单的说就是我们利用编程解决问题的思路。一个好的算法应当具有正确性、可行性、易读性、健壮性、高效率和低储存需求性等等。简要理解就是算法应该是解决问题的,最好是容易理解的,出了问题容易修改的,运行效率高时间短,所占内存少的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值