自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 5.22 算法

学习了树的基本概念,什么是二叉树,二叉树的几种遍历,二叉树的静态实现。刷了晴问算法的几道二叉树遍历题。知识点:1、树可以没有结点,这种情况叫空树2、边数=顶点数-13、叶子结点是度为0的结点,当树只有根结点时,根结点也算叶子结点4、树的层次是从根结点开始算的,根节点算第一层,以此类推。5、结点的深度是从根结点(深度为1)自顶向下逐层累加,结点的高度是从最底层叶子结点(高度为1)开始自底向上逐层累加。注:1、3一般被出题人拿来出边界数据。二叉树:二叉树和度为2的树的区别

2022-05-23 10:00:48 223

原创 5.21 算法

把晴问的链表专题给刷完了,都是基础题,练手熟。依然是没刷力扣。但我觉得刷题的本质是提升自己。学到东西就行了。接下来看一看树,过一过树的知识和题。

2022-05-22 10:17:33 114

原创 5.20 算法

刷了晴问的三道链表操作题。都是静态链表。挺基础的。没时间刷力扣,准备下周的算法考试

2022-05-21 19:22:19 99

原创 5.19 算法

刷了晴问的队列题操作题。没啥难度,签到题。最近时间有点紧,做不了多少题,尽量保持手感就行。复习算法课,看了dp求解矩阵连乘,还有最大子段和的思路。

2022-05-20 09:38:16 76

原创 5.18 算法

刷了晴问的两题1、中缀表达式转换后缀表达式。这次是有优先级的。难度不大,签到题,用哈希表定义好操作符优先级就行。用栈来求解。2、后缀表达式求值。难度不大,签到题。用栈来求解。如果是数,进栈,是操作符出栈两次进行运算。运算后的数再入栈。重复上述操作。最后栈顶元素即为表达式的值。然后是力扣的接雨水。这好像是第一次没看题解AC困难题,AC的时候很爽,尽管花了很多时间。看了官方题解,感觉自己的思路就很拉跨。1.用动态规划解决(不禁感慨怎么啥都能动态规划)。动态规划维护两个数组,lef

2022-05-19 10:55:04 980

原创 5.17 算法

临近期末,时间比较紧,又有各种作业报告。所以刷的题可能会少一点。尽量每天至少刷一题吧,有时间就多刷一点。今天是刷了一题。感觉是个签到题,就当是练习手熟了。题目:晴问算法的后缀表达式,将中缀表达式转换成后缀表达式。用栈和队列就行了。刷的时候还犯了一个小错误。就是在循环里面对判断循环终止的变量修改了,导致出错。低级错误,不该犯的。总结:感觉每天一题是不是有点少了,酌情加量吧。...

2022-05-18 16:35:16 143

原创 5.16 算法

今天没刷力扣,刷了晴问算法的三道栈的题目。算是加强了对栈的运用吧。stack stack stack!1.第一个是栈的操作序列。没啥难度。读入一条指令,判断指令类别,对栈进行操作即可。注意出栈时要检查栈是否为空。2.第二个是判断一个序列是否是合法的出栈序列。用一个栈来模拟出栈入栈即可。最后如果栈为空说明序列正确 否则不正确。3.第三个是求出所有可能的出栈序列。用dfs解决。用一个vector来储存出栈序列。每一个状态我们可以选择出栈,也可以选择进栈。递归终止条件是当前出栈元素的数量等于n,即全部

2022-05-17 12:02:36 225

原创 5.15 算法

就刷了一题leetcode19:删除链表的倒数第N个结点这题卡了我好久。一开始我以为head结点就是哑结点。结果head原来是第一个结点。要自己定义一个哑结点。添加哑结点(dummy node)的好处是不需要对头结点进行特殊判断。例如,如果我们要删除一个结点,要先找到此结点的前驱结点。如果我们要删除头节点,而头节点没有前驱结点,因此在删除头结点的时候要进行特殊判断。如果添加了哑结点,那么头结点的前驱结点就是哑结点,就减少了很多逻辑判断。这题有多个思路:1.遍历一遍链表,确定链表元素个

2022-05-17 11:43:08 81

原创 5.14 算法

今天没有刷力扣。看了算法笔记中链表那块。对链表的使用我还是蛮薄弱的,要加强。我才知道还有静态链表。静态链表就是用结构体数组来存储链表,不用动态分配节点内存。节点的地址就是数组的下标。1.动态链表:一般节点定义如下:struct Node{int data;Node * next;};动态分配节点内存:malloc:typename *p=(typename*) malloc(sizeof(typename));new:typename *p=new int;

2022-05-15 11:14:46 48

原创 5.13 算法

今天定下的目标没有完成。跑完1000有些感冒的症状,身体不适。在力扣上刷了几道题。1.回顾了之前心血来潮刷的力扣的题目,也是在力扣上刷的第一题--两数之和。(时间线大概在一年前,当初坚持下来,我现在应该是个大佬了吧,可恶的三分钟热度。不想再重蹈覆辙了,无论多忙,每天争取刷几道练练手)当初用的方法是双层for循环暴力求解。过了之后也没有去想有没有更加好的思路,只是一味想把题过了,这是大忌。看了官方题解,可以用哈希表来解决。只需要遍历一遍数组。把出现的每个数的下标存进哈希表里。然后对于每个num

2022-05-14 14:59:51 50

原创 5.12算法总结

1、加深了对STL中stack、queue的了解。stack:stack.push() stack.pop() stack.top() stack.empty() q.size()queue:q.front() 、q.back() 、q.push() q.pop() q.empty() q.size()priority_queue:优先队列队首元素一定是优先级最高的那个(一般默认数越大越高) 。优先级可以自己定义。pq.push() pq.pop() pq.top()priority..

2022-05-13 10:27:50 40

原创 算法学习 5.11

今天有点懒惰,上午实验课,下午睡大觉,晚上和女友调解矛盾,没刷多少题。要说刷,也就刷了两题。这两题都是和二分搜索有关的。(二分搜索的思想很容易理解,但是细节为什么这么难懂呜呜呜)总结的一个二分搜索的模板。int binary_search(vector<int>& nums,int target){ if(nums.empty()) return -1; int n=nums.size(); int l,r; l=0,r=n-1;

2022-05-12 11:55:12 53

原创 算法学习第三天 5.10

好吧,其实我是5.11号写的昨天的小结。自我反省一下。1、刷了一道名为下一道排列的题。了解到了C++STL里面的next_permutation(a,a+n)函数,求的是按字典序从小到大数组的下一个排列。例如[1,2,3]的下一个排列是[1,3,2],特别地,[3,2,1]的下一个排列是[1,2,3].2、了解了unordered_map<A,B>这个容器.其中的元素以键值对来储存。获得B:map.at(A);map[A];3、题目:电话号码的所有组合,让我了解了回溯法求解组合。

2022-05-11 21:06:41 60

原创 算法学习第二天 5.9

今天主要是力扣上刷了三道题。从三数之和到三数之和接近到四数之和,暴力求解会超时,主要用双指针求解。注意有些地方可以剪枝。我感觉刷题速度和效率还是太低了,可能是一开始就这样吧。不管怎么说,坚持下去吧...

2022-05-10 09:43:15 37

原创 算法学习第一天 5.7

1、用scanf和printf比cin和cout快(虽然有点麻烦)2、math库里的一些函数:floor(double x) 向下取整ceil(double x) 向上取整pow(double x,double y) x的y次方sqrt(double x) x的算术平方根log(double x) 返回以自然对数为底的对数sin(double x)、cos()、tan()、asin()、acos() 、atan() x是弧度制round(double x) 对x进行四舍五入

2022-05-09 12:12:41 200 1

空空如也

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

TA关注的人

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