
数据结构
文章平均质量分 81
自学笔记
ydm_ymz
这个作者很懒,什么都没留下…
展开
-
各类数据结构代码
【代码】各类数据结构代码。原创 2025-01-24 12:05:09 · 332 阅读 · 0 评论 -
初阶5 排序
任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。它是通过堆来进行选择数据。这个数组,最大是9005,但最小的数是9001,如果用长度为9005的数组,那么按照上面的方法排序,肯定会太过浪费。之前学习的排序,无论是希尔排序,还是堆排序,都用的是比较两个数大小的方式进行的排序。现假设有一组0~4的数据需要排序:{ 2,3,3,4,0,3,2,4,3 }原创 2025-01-22 23:16:11 · 940 阅读 · 0 评论 -
初阶4 二叉树
本章重点树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树的结构:树结构相对线性表就比较复杂了,要存储表示起来就比较麻烦了,既然保存值域,也要保存结点和结点之间的关系,实际中树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法以及孩子兄弟表示法等。我们这里就简单的了解其中最常用的孩子兄弟表示法。表示:左孩子右兄弟表示法1.4树在实际中的运用(表示文件系统的目录树结构)一棵二叉树是结点的一原创 2025-01-19 16:50:36 · 1058 阅读 · 0 评论 -
初阶3 链表
SLTNode;原创 2024-12-20 01:44:55 · 1477 阅读 · 3 评论 -
初阶2 顺序表
线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。最容易想到的,时间复杂度为O(N^2),空间复杂度:O(1)目标:在数组上完成数据的增删查改。原创 2024-12-12 00:12:40 · 1371 阅读 · 0 评论 -
数据结构初阶1 时间复杂度和空间复杂度
一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是。在实际中一般情况关注的是算法的最坏运行情况,所以数组中搜索数据时间复杂度为O(N)(log以2为底的N,不好在计算机上表示,所以会简写为logN,其他底数不能省略)原创 2024-12-04 19:11:03 · 2319 阅读 · 0 评论 -
数据结构前言
数据结构(DataStructure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2024-12-04 19:09:10 · 337 阅读 · 0 评论