什么是数据结构

文章介绍了数据结构的基本概念,包括数据、逻辑结构(线性与非线性)、存储结构(顺序与链式),并详细讨论了线性表的顺序存储(顺序表)和链式存储(链表)的特点。此外,还提供了Ubuntu系统中配置网络IP的步骤。
摘要由CSDN通过智能技术生成
一,数据结构相关概念
1,数据
现实生活中各种各样的数据,比如:一个学生的信息,一个产品的信息,一个动物的信息等
2,数据结构
一组数据之间的关系,称为数据的结构,简称数据结构。
3,数据的逻辑结构
指的是数据之间的逻辑关系。
按逻辑关系将数据分为:
1,线性结构数据
   1》线性表
   2》栈
   3》队列
2,非线性结构数据
   1》树
   2》图
4,数据的存储结构
指的是数据在计算机内存中的存储方式,分为:
1》顺序存储结构
    分配一块连续内存空间
    通过相对位置体现数据的逻辑关系
2》链式存储结构
    分别给每一个数据单独分配空间
    通过指针体现数据的逻辑关系。
5,算法
对存储在计算机中不同搞得数据进行插入,删除,遍历,查找,排序等的功能的实现。
补充:ubuntuIP配置
1,打开配置文件:
sudo vim /etc/netplan/01-network-manager-all.yaml
2,在文件中添加下面配置信息
 # Let NetworkManager manage all devices on this system
    network:
      version: 2
      #  renderer: NetworkManager
      ethernets:
          ens33:
            dhcp4: no
            dhcp6: no
            addresses: [192.168.90.5/24]
            gateway4: 192.168.90.1
            nameservers:
              addresses: [202.96.128.86]
 3,重启网络服务
sudo netplan apply
二,线性表
1,特征
1》数据特征
    有一个表头数据,有一个表尾数据,中间每一个数据有且仅有一个直接前驱和一个直接后继。
2》操作特征
    允许在任意位置插入或删除数据
2,线性表的顺序存储结构(顺序表)

2.1 顺序表结构定义

#ifndef __SEQLIST_H__
#define __SEQLIST_H__

struct student{
    int sno;
    char name[20];
    float score;
};
typedef struct student datatype;
//定义顺序表结构体
typedef struct seqlist{
    datatype data[SIZE];
    int last;         //记录最后一个数据的下标,如果表为空,则last=-1
}seq_list,*seq_plist;

#endif
3, 线性表的链式存储结构(链表)
3.1 链表结点类型
//测试用的数据类型
struct student{
    int sno;
    char name[20];
    float score;
};
typedef struct student datatype;  //将抽象类型datatype具体化为学生类型

typedef struct listnode{
    datatype data;
    struct listnode *next;   //指向下一个节点空间的指针
}list_node,*list_pnode;
4,顺序表和链表特点
1》顺序表
   数据连续存储,有利于查找和排序
   插入和删除效率太低,需要移动许多数据
   存储空间必须提前分配,比较浪费空间
2》链表
    数据动态存储,有利于插入和删除
    查找和排序效率太低,要通过指针操作数据
    数据空间动态分配,不会浪费空间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值