基于C的数据结构,什么是数据结构?数据结构如何学?

本文介绍了数据结构在C语言中的重要性,数据结构包括逻辑结构和存储结构,如数组、链表、树、图等。文章强调了数据结构的选择对存储和操作数据效率的影响,并提供了《数据结构》(C语言版)作为参考教材。同时,文章列举了常见的数据存储结构,如顺序、链式、索引和散列,并探讨了逻辑结构如数组、广义表、栈、队列等。最后,文章简述了数据结构算法,包括查找和排序等操作,并强调了算法的正确性、可读性、健壮性、时间和空间效率的重要性。
摘要由CSDN通过智能技术生成

学习C语言基本语法、数据、指针、函数等,只能说自己了解C语言。要想入门C语言,还要了解数据结构的知识,数据结构可以说是C语言的灵魂,没有数据结构的C就相当于没有了灵魂的食物,吃起来索然无味。

那什么是数据结构?该如何学习呢?针对这些问题,作者在这里就随意说了,说错了还请大家见谅。

作者参考:清华大学出版社 《数据结构》(C语言版),是为“数据结构”课程编写的教材,是很多学校数据结构课程的指定教材也是经典教材,同时也是考研数据结构的必选书目。

数据结构简介

         数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。直白的理解,就是研究数据的存储方式。数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。

         我们知道,数据存储只有一个目的,即为了方便后期对数据的再利用,就如同我们使用数组存储 {1,2,3,4,5} 是为了后期取得它们的加和值,无缘由的数据存储行为是对存储空间的不负责任。

         因此,数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好的方式来存储数据,而这也是数据结构的核心内容。

         例如,一直以来大家面对的数据存储,都是类似存储 1、2、{a,b,c}、"http://data.biancheng.net" 这样的问题,解决方式无疑是用变量或者数组对数据进行存储,即:

int a=1;
int b=2;
char str[3]={'a','b','c'};
char *data="http://data.biancheng.net";

         数据(Data:是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。是信息的载体,它能够被计算机识别、存储和加工处理。它是计算机程序加工的原料,应用程序处理各种各样的数据。计算机科学中,所谓数据就是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等;非数值数据包括字符、文字、图形、图像、语音等。

         数据元素(Data Element:是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理,有时也称之为结点、顶点或记录。例如,学生信息检索系统中学生信息表中的一个记录等,都被称为一个数据元素。有时,一个数据元素可由若干个数据项(Data Item)组成,例如,学籍管理系统中学生信息表的每一个数据元素就是一个学生记录。它包括学生的学号、姓名、性别、籍贯、出生年月、成绩等数据项。这些数据项可以分为两种:一种叫做初等项,如学生的性别、籍贯等,这些数据项是在数据处理时不能再分割的最小单位;另一种叫做组合项,如学生的成绩,它可以再划分为数学、物理、化学等更小的项。通常,在解决实际应用问题时是把每个学生记录当作一个基本单位进行访问和处理的。

         数据项(Data Item:是数据元素的组成部分,是对客观事物某一方面特性的数据描述,是数据结构中讨论的最小单位,一个数据元素是由若干数据项组成;简单数据项在处理时不能再分割;组合数据项在处理时可进一步分割

         数据对象(Data Object:是性质相同的数据元素的集合,是数据的一个子集。如字符集合C={Q,W,E...}。在某个具体问题中,数据元素都具有相同的性质(元素值不一定相等),属于同一数据对象(数据元素类),数据元素是数据元素类的一个实例。例如,在交通咨询系统的交通网中,所有的顶点是一个数据元素类,顶点A和顶点B各自代表一个城市,是该数据元素类中的两个实例,其数据元素的值分别为A和B。 数据结构(Data Structure)是指互相之间存在着一种或多种关系的数据元素的集合。在任何问题中,数据元素之间都不会是孤立的,在它们之间都存在着这样或那样的关系,这种数据元素之间的关系称为结构。

         按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。数据结构包含三个方面的内容,即数据的逻辑结构,数据的存储结构和对数据进行的运算(操作)

      

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值