首页 > 其他分享 >数据结构导论

数据结构导论

时间:2024-03-15 16:02:07浏览次数:40  
标签:ADT 计算机 导论 元素 list 数据结构 List

2024.3.15
Author:芝士wa
参考视频链接:bilibili-深入浅出数据结构


1. 数据结构的定义

数据结构是一种方法,是计算机存储和组装数据的方式,使这些数据可以得到有效利用

2. 数据结构的分类

Abstarct Data Type(ADT)

  • 数组 Array
  • 链表 Linked List
  • 栈 stack
  • 队列 queue
  • 树 tree
  • 图 graph

3.数据结构的常见操作(以list为例)

List

  • 初始化
  • 增加(插入)元素
  • 删除元素
  • 元素个数
  • 读写,修改list中的元素
  • 指定list类型
    对于顺序表来说,增删改查的时间复杂度通常为O(n)

4.总结

数据结构的重要性在于思想,通过学习不同ADT的思想和实现方式,可以帮助我们理解计算机的底层逻辑,以及如何采用更好的方式使用计算机。

标签:ADT,计算机,导论,元素,list,数据结构,List
From: https://www.cnblogs.com/cheese-wa/p/18075616

相关文章

  • 数据结构之链式二叉树
    当我们初步了解二叉树后我们就可以进一步去深入学习二叉树了1.链式二叉树的遍历这里我们先去定义链式二叉树的结构分为两个指针一左一右他们分别指向左子树和右子树typedefintBTDataType;typedefstructBinaryTreeNode{ BTDataTypedata; structBinartTreeNode......
  • 归并排序、快速排序——左神数据结构与算法Day2学习笔记C++版本(持续更新)
    递归行为        利用递归求整个数组的最大值,代码如下。intfind_Max(inta[],intL,intR){if(L==R){returna[L];}intmid=L+((R-L)>>1);//mid是数组的中点intleftMax=find_Max(a,L,mid);intrightMax......
  • 【数据结构高阶】图
    目录一、图的基本概念二、 图的存储结构2.1邻接矩阵2.2.1 邻接矩阵存储模式的代码实现2.2.2 邻接矩阵存储的优缺点2.2邻接表2.2.1无向图的邻接表 2.2.2 有向图的邻接表  2.2.3 邻接表存储模式的代码实现2.2.4 邻接表存储的优缺点三、图的遍历3.1图的......
  • 14_学习日志_数据结构_冒泡排序_快速排序_插入排序
    #include<编织有意义的谎言,使我相信闭上眼再睁开眼时的世界是同一个>1.介绍    从后往前或者从前往后开始两两比较元素,使得最小数上浮或者最大数下沉为冒泡排序,快速排序利用分治思想,使得基准数左边都存放相对较小数,右边存放较大数,两边再按照同样的做法重复。插入排序......
  • 文心一言 VS 讯飞星火 VS chatgpt (214)-- 算法导论16.2 1题
    一、证明:分数背包问题具有贪心选择性质。如果要写代码,请用go语言。文心一言:要证明分数背包问题具有贪心选择性质,我们可以按照以下步骤进行逻辑推导:理解问题:分数背包问题允许我们选择物品的部分重量,目标是最大化背包内物品的总价值,同时不超过背包的总容量。贪心策略:我......
  • 数据结构——循环链表,双向链表,线性表和有序表的合并详解
    目录1.循环链表1.带尾指针循环链表的合并 代码示例:2.双向链表代码示例:  1.双向链表的插入​代码示例:2.双向链表的删除代码示例:3.单链表,循环链表,双向链表时间效率的比较4.顺序表和链表的比较 5.存储密度6.线性表的应用 1.线性表的合并​代码示例:2.有序表......
  • JS 队列(数据结构)- 笔记
    【队列】代码:/***链表队列*/classLinkedListQueue{/**@type{ListNode}*/#head;/**@type{ListNode}*/#tail;/**@type{number}*/#size;constructor(){this.#head=null;this.#tail=null;this......
  • 数据结构算法系列----高精度加法(大数相加)、处理前导零
    目录一、为什么要使用高精度加法二、处理前导零1、为什么要处理前导零2、处理前导零的代码三、处理大数相加四、完整代码即例题一、为什么要使用高精度加法  当处理远大于longlong数据范围的数时,通常会将这些大数表示为字符串,然后通过字符串的方式进行加减乘除......
  • 数据结构之树(Topk问题, 链式二叉树)
    一.topk问题取N个数中最大(小)的前k个值,N远大于k这道题可以用堆的方法来解决,首先取这N个数的前k个值,用它们建堆时间复杂度O(k)之后将剩余的N-k个数据依次与堆顶数据进行比较,如果比堆顶数据大,则将堆顶数据覆盖后向下调整时间复杂度(N-k)*log(N)总共的时间复杂度为O(......
  • 数据结构面试常见问题(一)
    面试中经常会问到数据结构相关的问题,因为它们是编程和软件开发的基础。本篇博客将介绍一些数据结构面试中的常见问题,并提供答案和解释,帮助你为面试做好准备。1.解释数组和链表的区别。数组是一种线性数据结构,用一段连续的内存空间来存储元素,这意味着它们可以通过索引快......