
算法
文章平均质量分 68
分享一些算法题的解法以及基础常用的算法和数据结构知识。
葛狂的博客
学习,记录,生活。
展开
-
【算法集训之线性表篇】Day 09
定义三元组(a,b,c)(a,b,c均为整数)的距离D=|a-b|+|b-c|+|c-a|。给定3个非空集合S1,S2,S3,按升序分别存储在三个数组中。请设计一个尽可能高效的算法,计算并输出所有有可能的三元组中的最小距离。例如S1 = {-1,0,9},S2 = {-25,-10,10,11},S3 = {2,9,17,30,41},则最小距离为2,相应的三元组为(9,10,9)。原创 2023-07-14 07:13:31 · 590 阅读 · 0 评论 -
【算法集训之线性表篇】Day 08
给定一个含n(n>=1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。例如,数组{-5,3,2,3}中未出现的最小正整数是1;数组{1,2,3}中未出现的最小正整数是4。要求原创 2023-07-12 22:32:06 · 386 阅读 · 0 评论 -
【算法集训之线性表篇】Day 07
一个长度为L(L>=1)的升序序列S,处在第[L/2]个位置的数称为S的中位数。例如,若序列S1={11,13,15,17,19},则S1的中位数是15,两个序列的中位数是含它们所有元素的升序序列的中位数,例如,若S2={2,4,6,8,20},则S1和S2的中位数是11。现在有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。原创 2023-07-10 22:56:58 · 427 阅读 · 0 评论 -
【算法集训之线性表篇】Day 06
设将n (n>1)个整数存放到一维数组R中,设计一个在时间和空间两方面尽可能高效的算法。将R中保存的序列循环左移p (0原创 2023-07-10 22:08:06 · 230 阅读 · 0 评论 -
【算法集训之线性表篇】Day 05
1.将两个有序顺序表合并为一个有序顺序表,函数结果返回值为顺序表。2.已知一个一维数组A[m+n]中一次存放两个线性表{a1,a2,a3...am}和{b1,b2,b3,...,bn},编写一个函数,将数组中两个顺序表的位置互换,即将{b1,b2,b3,...,bn}放到{a1,a2,a3...am}之前。原创 2023-07-07 23:59:21 · 365 阅读 · 0 评论 -
【算法集训之线性表篇】Day 04
1.从有序顺序表中删除所有其值重复的元素,使所有元素的值都不相同。2.线性表(a1,a2,a3..,an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法,完成用最少时间在表中查找数值为x的元素,若找到,则将其与后继元素位置互换。反之,则将其插入表中使表中元素仍然递增有序。原创 2023-07-07 23:28:41 · 441 阅读 · 0 评论 -
【算法集训之线性表篇】Day 03
从有序顺序表中删除其值在给定值s和t之间(要求s原创 2023-07-07 12:57:30 · 270 阅读 · 0 评论 -
【算法集训之线性表篇】Day 02
01.设置一个高效算法,将顺序表L的所有元素逆置,要求其空间复杂度为O(1)。02.对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法。该算法删除线性表中所有值为x的数据元素。原创 2023-07-05 22:57:35 · 210 阅读 · 0 评论 -
【算法集训之线性表篇】Day 01
从顺序表中删除具有最小值元素(假设唯一)并返回被删元素的值。空出位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行原创 2023-07-04 18:25:12 · 694 阅读 · 0 评论 -
【C/C++实现生产者消费者模式】
本期主要学习使用C/C++以及WINAPI中的信号量机制来实现生产者消费者模式。原创 2023-03-29 00:47:44 · 632 阅读 · 1 评论 -
【排序算法之归并排序】
本期我们学习排序算法中的归并排序,会着重讲解算法的核心思想、时空复杂度分析以及代码的实现原创 2023-03-24 16:42:13 · 485 阅读 · 0 评论 -
【排序算法之快速排序】
本期我们学习排序算法中的快速排序,会着重讲解算法的核心思想、时空复杂度分析以及代码的实现。原创 2023-03-25 17:41:01 · 550 阅读 · 0 评论 -
【排序算法之选择排序】
本期主要学习排序算法中的选择排序,会着重讲解算法的核心思想、时空复杂度分析以及代码的实现原创 2023-03-22 13:12:00 · 288 阅读 · 0 评论 -
【排序算法之插入排序】
本期主要学习排序算法中的插入排序,会着重讲解算法的核心思想、时空复杂度分析以及代码的实现原创 2023-03-19 13:20:25 · 224 阅读 · 0 评论 -
【排序算法之冒泡排序】
本期主要学习排序算法中的冒泡排序,会着重讲解算法的核心思想、时空复杂度分析以及代码的实现原创 2023-03-18 22:22:20 · 1001 阅读 · 0 评论 -
【C++队列实现LRU算法】
LRU算法是什么?C++利用队列如何实现LRU算法?原创 2023-03-12 15:09:02 · 251 阅读 · 0 评论 -
【八皇后问题 DFS深搜】
题目:(洛谷 P1219)一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5来描述,第 i个数字表示在第 i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 3个解。最后一行是解的总个数。输入格式一行原创 2020-05-29 22:04:58 · 790 阅读 · 0 评论