您的位置:首页 > 游戏 > 游戏 > 新河网房屋信息_合肥建设局_网络营销策划方案框架_郑州网站网页设计

新河网房屋信息_合肥建设局_网络营销策划方案框架_郑州网站网页设计

2025/4/18 21:15:33 来源:https://blog.csdn.net/2301_79702677/article/details/145951828  浏览:    关键词:新河网房屋信息_合肥建设局_网络营销策划方案框架_郑州网站网页设计
新河网房屋信息_合肥建设局_网络营销策划方案框架_郑州网站网页设计

一、引入



        工具是一种什么东西呢?是一种转化媒介,我们需要熟食,我们要通过用火来将生肉烤熟。在这个过程中。我们要输入一个东西——生肉,通过工具——火的加工,从而得到我们的目的产物——熟肉。

将上面的例子和红字部分相类比一下就得到了:

        熟肉=火+生肉

        今天我们就来学学每一个程序不可或缺的东西之一——数据结构。

二、数据结构的定义


2.1、数据结构的定义:

        关于数据结构的定义,概括一下主要包含两点:研究内容和基本概念。大家稍作了解就好了

研究内容: 

基本概念与术语:

2.2、数据结构的两个层次:

         2.2.1、逻辑结构:

                逻辑结构和他的名字一样,数据的储存是具有逻辑的,主要的类型分为:线性结构、非线性结构。而其中非线性结构又包含了集合结构、树结构和图结构。常见的线性结构主要有线性表、栈、队列、串、数组。

        2.2.2、储存结构:

                定义:数据对象在计算机中的存储表示成为数据的存储结构,也成为物理结构。

                类别:顺序结构、链式结构。

                数据的储存结构通常与数据在计算机中的地址相关联。举个例子:

                数组的表示就是一种常见的顺序储存结构,相信大家在学习了数组之后会好奇,在定义数组的时候为什么[ ]中一定要有常量来表示数组的大小呢。其实这和你去食堂打饭一个道理。

                早上的时候你去食堂吃早饭,早饭供应的是包子,打饭大姨问你要几个,你得先估计你需要吃几个才够。当你确定数量后大姨才会给你分配对应的包子数量,而且大姨给你拿包子的时候肯定是从蒸笼的最上边按顺序给你拿。你也没见过有大姨东拿一个、西拿一个的情况吧。

                数组的定义也是这个理。你得先告诉计算机你要多大的空间,这样计算机就会按顺序给你分配空间。比如

int arr[10];//定义数组arrint* a=&arr;//定义指针a,并初始化a的值为arr的首地址//若a=001,则arr[9]=010;

        像这种每个空间的地址按顺序分布的就叫顺序结构。

而链式存储结构就需要借助其他帮手了——指针。

                在班级中每个学生都有自己的学号,但是学生的座位并不是按照学号排列的,那么当老师按照学号点名的时候会是一种什么情景呢?

                正如其名字所说。每一个数据块都被一根链子连上了。而这跟根链子就是指针,我们只需要在学号为1的学生身上记录好2的地址,在2的身上记录好3的地址........这样当我们点到学生1的时候我们就可以通过学生1身上的地址找到学生2的位置。

                具体的样例看下图仔细观察下,这些数据是怎么被遍历的呢?

#include <stdio.h>struct Link
{int data;struct Link *next;
};//创建结构体,data表示学号,*next用于记录指针。由于它指向的是结构体数据类型,所以用了struct Linkint main()
{struct Link link1 ={1,NULL};struct Link link2 ={2,NULL};struct Link link3 ={3,NULL};link1.next = &link2;link2.next = &link3;link3.next = NULL;//用指针记录下一个数据块的首地址printf("link1:%d link2:%d link3:%d\n", link1.data, link1.next->data, link1.next->next->data);return 0;
}

        上述代码展示了链表的遍历。关于这些数据结构的实现,本文不着急弄明白,只要能理解链式结构的遍历方式就算有收获 。   

2.3、数据类型和抽象数据类型 : 

       当我们开始学习一种语言,我想我们首先学到的都是数据类型。

        常见的基本数据类型有:整形(int)、浮点型(float、double)、字符(char)、字符串(string)、布尔(bool)等。也包括构造数据类型:数组、结构体、共用体、文件等。关于它们的具体介绍,本文就不多赘述了。

        而抽象数据一般指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象、数据对象上关系的集合以及数据对象的基本操作的集合。

三、数据的运算


        最后一点就是数据的处理,也叫做数据的运算,当然,这里就指出数据可以做出哪一些运算。具体的实现方式叫做算法。与本文的学习内容关系不大。那么直接上干货吧。

        其实简单的要死,就是最最最普遍的:增、删、改、查加个查找、排序。

但要注意一点:

四、总结


        话不多说,直接上图!

希望通过本文的学习,你能明白数据结构的基本概念和逻辑。为后续的道路拨开云雾,大步向前!

        如果我的内容对你有帮助,在下就厚着脸皮讨个点赞关注。如果你有更好的想法,还望留在评论区让我来参考学习。我将不胜感激并努力创作出更好的内容。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com