本课链接:计算机科学速成课第十四课
本课主要内容:简单介绍数据结构并简单举例
一、什么是数据结构
在此引用《数据结构(C语言版)》中的例子:
一种数据结构可以有多种表示形式,本文简单介绍其中较常用的两种表示形式——数组和链表。
二、一些简单概念
结构体:多个变量打包在一起,可以创造更复杂的数据结构
节点:是一种结构体,存储的是“指针+变量”(其中,指针是一种指向内存地址的特殊变量)
数据元素:数据的基本单位
三、数组
数组是一个可以存多个值或字符串的变量,在创建时就有固定大小,不能动态增加大小,插入也很困难。数组中的变量一个个连续的存储在内存里,即变量的逻辑关系与物理关系相对应。
数组的优点:在数组中,容易实现随机存取第i个数据元素等操作,例:在C语言中,数组下标从0开始,若要对第i个元素进行操作,即对elem[i-1]进行操作。
数组的插入操作(需要移动插入元素后的全部元素):
数组的删除操作(需要移动删除元素后的全部元素):
四、链表
链表是由若干节点组成的,每一个节点是由指针和数据组成的,节点的指针用来表示各节点的位置关系,这点不同于数组,变量的逻辑关系与物理关系无对应关系。
链表的优点:链表的大小可以动态增减,容易实现插入、删除等操作。例如:链表在插入或删除一个新节点时,只需要改变指针的指向即可。
链表的插入操作(只需改变前后指针的指向):
链表的删除操作(只需改变前后指针的指向):
由于链表的灵活性,很多复杂的数据结构都用链表,如:队列、栈、树、图(数据随意连接)
总结:
1、什么是数据结构
2、常用两种表示方式的介绍:数组、链表
以上均为个人学习所得见解,若有错误或不足欢迎补充和指正