随笔分类 - 08_数据结构与算法
数据结构与算法学习笔记
P9218 Apollo题解
摘要:题目分析 仔细阅读题目,可知题目要求的是对于每个 \(a_i\) 的 \(\sum\limits_{j=1}^ng(a_i,a_j)\) 。再结合 \(g(a,b)\) 的定义,可知,对于 \(a_i\) 来说,我们需要计算 \(a_i\) 与 \(a_1\sim a_n\) 构成的 \(n\) 组
阅读全文
咸鱼君的算法学习笔记——快速排序
摘要:引入 分治 "分而治之"。将原问题划分成了几个可合并的规模更小的问题,分别解决。然后合并。 分治法的具体操作是把原问题分解成若干个较小规模的子问题,对这个子问题分别求解。如果子问题不够小,那么把每个子问题再划分为规模更小的子问题。这样一直分解下去,直到问题足够小,能十分简单地求出子问题的答案为止。
阅读全文
数据结构学习-带头结点的单链表就地逆置
摘要:所谓“就地是指辅助空间复杂度为O(1)。 解法一:将头结点摘下,然后从第一结点开始,依次前插入到头结点的后面(头插法),直到最后一个结点为止。 代码如下 解法二: 通过若干操作将指针反转达到逆置的目的。 假设pre、p和r指向3个相邻的结点,如上图。*pre之前的结点的指针都已经调整完毕,它们的ne
阅读全文
数据结构学习-数组A[m+n]中依次存放两个线性表(a1,a2···am),(b1,b2···bn),将两个顺序表位置互换
摘要:将数组中的两个顺序表位置互换,即将(b1,b2···bn)放到(a1,a2···am)前边。 解法一: 将数组中的全部元素(a1,a2,···am,b1,b2,···bn)原地逆置为(bn,bn-1,···b1,am,am-1···a1),再对前n个元素和后m个元素分别逆置,得到(b1,b2···b
阅读全文
数据结构学习(一)逻辑结构和存储结构
摘要:逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据,独立于计算机存在。·逻辑结构分为以下四种: 1、线性结构 数据元素之间只存在一对一的关系 2、集合结构 数据元素之间除了“同属一个集合”外,没有其他关系 3、树形结构 数据元素之间存在一对多的关系。 4、图状结构 数据元素之间存在多对多的关
阅读全文
浙公网安备 33010602011771号