数据结构分类及简单举例

本文介绍了数据结构的基础概念,包括数组的定义和示例,链表的非连续存储特性,栈的后进先出特性,队列的先进先出特性,树的基本结构以及二叉树的定义和与普通树的区别,最后讲解了图的构成和分类。
摘要由CSDN通过智能技术生成

1、数组

        数组(Array)是有序的元素序列。在c语言里,一维数组可以定义为int a[3]={1,2,3}这意味着开辟一个int类型的代码块,a[0]=1,a[1]=2,a[3]=2,数组下标从0开始计算。在c++里,静态一维数组定义为int arr[100]={1,2},此时是定义加初始化。在java里,数组可以用int[] i=new int[6]定义长度为6的数组,也可以用int[] ii=new int[]{0,1,2,3}定义数组且赋值。

2、链表

        链表(Linked List)是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。链表失去了数组随机读取的特点,同时链表由于增加了结点的指针域,空间开销比较大。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。

3、栈和队列

        (stack)是限定仅在表尾进行插入或删除操作的线性表。表尾端为栈顶,表头端为栈底,栈的特点是后进先出。

        队列(queue)只允许在表的一端进行插入,在另一端删除元素。允许插入的为队尾,允许删除的为队头。队列的特点是先进先出。

4、树

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值