数据结构学习记录

数据结构含义

数据结构是计算机存储、组织数据的方式。研究数据结构的意义在于使得程序更简洁高效。

顺序表

顺序表的特点:

顺序并且连续存储、访问方便;大小固定;表满不能存、表空不能取

优点:插入方便;缺点:插入,删除的操作需要移动其它元素

创建顺序表的步骤:

1.定义链表中的数据元素,通常为一个结构体,例如定义一件商品

typedef struct shop{                                            

char name[20];//商品的名称                  

int count;//商品的数量                          

float in_price;//商品的进价                       

float out_price;//商品的售价                                 

}data_type;                     

  • 2.   定义一个顺序表类型 ,也是一个结构体
  • #define N 10

    typdef struct list{

    data_type arr[N];

    int count;//有效数据的个数(0 == count不能取、N == count不能存)

    }List;

  • 3.对顺序表的操作

  • (1)插入元素

  • (2)查找元素

  • (3)删除元素

  • (4)销毁顺序表

  • 2.链表

  • 组成链表的数据元素称为节点
  • 链表的本质是通过指针将多个节点连接起来
  • 创建链表的步骤:
  • 1.创建链表的首节点
  • 2.插入节点,插入方式有头插法,尾插法,中间插入
  • 3.删除节点,删除方式有头删法,尾删法,中间删除
  • 链表按照单节点保存的地址个数分为单向链表和双向链表
  • 特殊的线性表:
  • 栈         栈是限制在一端(栈顶)进行插入操作和删除操作的线性表,先入后出
    • 队列     队列允许在两端进行操作,在队尾插入,在队头删除,先进先出
    • 二叉树

    • 二叉树(Binary Tree是n(n≥0)个节点的有限集合,它或者是空集(n=0),或者是由一个根节点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成

    • 哈希表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于学习数据结构的C语言笔记,我可以给你一些基本的指导和概念。数据结构是计算机科学中非常重要的一门课程,它涉及存储和组织数据的方法。C语言是一种常用的编程语言,很适合用于实现各种数据结构。 下面是一些数据结构的基本概念,你可以在学习笔记中包含它们: 1. 数组(Array):一种线性数据结构,可以存储相同类型的元素。在C语言中,数组是通过索引访问的。 2. 链表(Linked List):也是一种线性数据结构,但不需要连续的内存空间。链表由节点组成,每个节点包含数据和指向下一个节点的指针。 3. 栈(Stack):一种后进先出(LIFO)的数据结构,类似于装满物品的箱子。在C语言中,可以使用数组或链表来实现栈。 4. 队列(Queue):一种先进先出(FIFO)的数据结构,类似于排队等候的队伍。同样可以使用数组或链表来实现队列。 5. 树(Tree):一种非线性数据结构,由节点和边组成。每个节点可以有多个子节点。二叉树是一种特殊的树结构,每个节点最多有两个子节点。 6. 图(Graph):另一种非线性数据结构,由节点和边组成。图可以用来表示各种实际问题,如社交网络和地图。 这只是数据结构中的一些基本概念,还有其他更高级的数据结构,如堆、哈希表和二叉搜索树等。在学习笔记中,你可以介绍每个数据结构的定义、操作以及适合使用它们的场景。 希望这些信息对你有所帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值