自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 排序算法(二)选择&插入

选择排序 思路: 在一组数中找到最大者后,拿出,再去该组数中找到最大者,直到空 有点像 冒泡排序 但比冒泡排序少了反复比较的步骤 找到最大者后直接放在了最后的位置,而不是一步步交换到该位置 每次在未排序部分找到最大元素,放到已排序部分的最前端 ...

2020-11-29 23:11:14 187

原创 针对有序列表的操作

(1)查找 在有序列表的 n 个前驱中,找到不大于 e 的最后一个元素 template <typename T> Posi(T) List<T>::search(T const & e,int n,Posi(T) p) const{ while(0 <= n--) if( (p = p->pred) ->data) <= e ) return p; retu

2020-11-28 16:52:49 285

原创 针对无序列表的操作

什么是列表

2020-11-28 16:07:34 458

原创 排序算法(一)冒泡&归并

(1)冒泡排序

2020-11-23 16:41:01 213

原创 针对无序向量的操作

数据结构与算法 笔记 第二章 (5)单元素删除(区间删除的特殊情况) template <typename T> T Vector<T>::remove(Rank r){//模板类,会根据参数自行选择 T e = _elem[r];//e取的是元素本身,而不是秩,返回T remove(r,r+1); return e; } 思考: 若反过来利用单元素删除来进行区间删除 复杂度可达 O(n²),因为要进行(high-low)=n 次 每次移动(_size - hi

2020-11-20 22:22:05 191

原创 针对有序向量的操作

1.如何判断有序向量 以冒泡算法为思路,若向量有序,相邻的元素对总维持顺序 逆序对的数目,可以衡量一个向量的逆序程度 template <typename T> int Vector<T>::disorder() const{ int n = 0;//记录逆序对个数 for(int i = 1;i < _size ; i++ ) if( _elem[i - 1] > _elem[i] ) n+=1; retu

2020-11-20 14:01:26 192

原创 DP.02-最长上升子列

题目描述 一个数列的最长上升子列,是指其所有递增的子列中最长的一个子列 给定一个长度为 n 的数列 an,求这个数列的最长上升子列的长度 例如对数列 1 7 2 8 3 4,这个数列的最长递增子数列是 1 2 3 4,长度为 4;次长的长度为 3, 包括 1 7 8、1 2 3 等。 思路 把从第二个数字开始设为每个子列的最后一个数字 从第二个数字开始遍历一遍,i = j-1 ,Maxlen[ i ] = Maxlen[ j-1 ] + 1 //递推思路 递归思路:Maxlen( 1 )= 1 ------

2020-07-30 18:06:54 318

原创 DP.01-最佳加法表达式

题目描述

2020-07-30 12:36:12 358

原创 DFS.05-棋盘问题

题目描述

2020-07-25 14:57:57 139

原创 DFS.04-海贼王之伟大航路

**题目描述:**路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着“唯一的大秘宝”——ONE PIECE)。而航程中间,则是各式各样的岛屿。 因为伟大航路上的气候十分异常,所以来往任意两个岛屿之间的时间差别很大,从A岛到B岛可能需要1天,而从B岛到A岛则可能需要1年。当然,任意两个岛之间的航行时间虽然差别很大,但都是已知的。 现在假设路飞一行从罗格镇(起点)出发,遍历伟大航路中间所有的岛屿(但是已经经过的岛屿不能再次经过),最后到达拉夫德鲁(终点)。假设他们在岛上不作任何的停留,请问,他们最少

2020-07-23 16:08:21 660

原创 DFS.03-城堡问题

城堡问题 问题描述:计算城堡一共有多少个房间,最大的房间有多大 ------------------ 1 表示西墙,2 表示北墙,4 表示东墙,8 表示南墙 -------------------每个方块用代表其周围墙的数字之和表示 思路 从第一个房间 ( 1 , 1 ) 入手,发现东门不存在,向东走 进入第二个房间(1,2),判断门的状态 若DEADEND,return,回溯,循环+1 代码实现 ...

2020-07-21 23:28:26 107

原创 DFS.02-生日蛋糕

生日蛋糕 问题描述:要制作一个体积为 N·Π的 M层生日蛋糕,每层都是一个圆柱体 每层的高度和半径都比下一层至少 少1, 由于要在蛋糕上抹奶油,希望蛋糕的外表面最小 根据N和M,找到最小的外表面S 第一次写的/错误代码 ...

2020-07-17 19:06:42 184

原创 DFS.01-寻路问题

寻路问题 题目描述:题目描述:有N个城市,编号1到N,城市间有R条单项道路 每条道路连接两个城市,有长度和过路费两个属性 Bob有K元钱,若从城市1走到城市N,最短需要走多长的路 如无法到达,输出 -1 #include<iostream> #include<vector> #include<cstring> using namespace std; ...

2020-07-16 16:38:30 400

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除