自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux内核的CSCOPE配置

基于上一篇博客vim基础配置,在完成vim的基础及一些插件配置后,我们期望的是能够用vim像IDE一样便利地阅读代码,例如查看变量/函数的定义,查找引用等等,本篇博客介绍如何通过vim+cscope实现Linux内核代码的便利阅码如果有哪里理解错的地方欢迎大家留言交流,如需转载请标明出处。如果你没看懂一定是我讲的不好,欢迎留言,我继续努力。以上。

2023-06-11 17:23:23 959 1

原创 【从入门到进阶】vim基础配置+ 常用插件(NERDTree, cscope, rainbow等)

文章目录前言一、vim基础配置二、常用插件2.1 Vundle2.1.1 Vundle安装2.1.2 Vundle配置2.1.3 安装插件2.1.4 Vundle常用指令2.2 NERDTree2.2.1 NERDTree安装2.2.2 NERDTree配置2.3 NERD Commenter2.3.1 NERD Commenter安装2.3.1 NERD Commenter配置总结前言在Windows平台上阅读/写代码常用的工具估计是VS Code或者Source Insight,在Linux平

2022-03-17 19:01:55 7310 4

原创 头&尾插法原理和单链表的创建及常见操作-C++模版类实现

写在最前:之前也写过一些关于链表操作的文章,但是都是基于C语言的,最近在试着用C++刷题,所以记录一下有关C++的数据结构实现。本篇是链表的C++的模版类实现,顺便对链表的基本知识以及头插法和尾插法的原理加以介绍。单链表:单链表是一种线性存储结构,单的意思就是指链表中无环,可以想像成一条铁链,上面的每一个小铁环就是链表的一个节点。如下图所示,单链表基本上由两大部分构成:数据域和指针域。C++链表程序实现:template<typename T>struct MyListNode{

2021-02-28 20:55:30 2465 1

原创 动态规划DP-最长回文子串- Python和C实现

写在最前:最近刷的几个题都是可以用DP来处理字符串的问题,因为处理思想比较相似,因此一并整理出来供自己反思和大家参考交流。上一篇是用DP来处理优化编辑的问题,本篇是求解最长字符字串问题。题目来源:牛客网leetcode上面两个链接里的题目都是求最长回文子串的题,只是牛客网的题目要求返回最长字串长度,而力扣的要求返回最长字串(存在多解的情况,返回一个即可)。求解难度上两种返回结果相同,不过存储难度的力扣的题目比牛客的题目更需要那么一丢丢技术含量,因此此篇博客的程序是基于力扣网的题目。题目详情:

2020-12-20 17:11:41 525 1

原创 动态规划-详解计算字符串的距离/优化编辑器问题- Python和C实现

写在最前:最近又在忙研究又在忙招聘的,虽然没有太多DDL但是每天搞的精神紧张,睡觉都睡不好,因此好久没有更新博客了。不过今天面试的时候有幸被大佬看了自己的博客,并且略加赞赏,真是好开心啊,学习,更新博客的热情高涨!还是要多回顾多反思多总结,因此打算把最近刷题刷到的几个处理方法比较类似的DP总结一下。题目来源:牛客网题目详情:Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个

2020-12-16 17:20:38 285

原创 Python开发App实战(二)-基于Kivy实现一个具有计时器和秒表功能的表

写在最前

2020-11-09 20:58:09 2414 8

原创 Python开发App实战(一)-Kivy入门

写在最前:开发App的主流语言中应该是Java,但是苦于没有学过Java但目前又没那么多时间重新学,因此就想着用已经入门的Python开发两个App练手,学习的过程中看过很多资料,也踩过很多坑,于是就想着将自己的经验写出来分享给大家,希望大家可以少踩些坑,更顺利地学习。本次《Python开发App实战》总共分为4个部分,第一部分是Kivy的入门教程,第二部分是基于Kivy实现一个具有计时器和秒表功能的表,第三部分是基于Kivy实现一个科学计算器,第四部分是Kivy向移动设备的打包移植。前三个部分博主是已经

2020-11-09 15:25:05 16433 7

原创 详解-04树5 Root of AVL Tree

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:译文:AVL树是一种自平衡二叉搜索树。 在AVL树中,任何节点的两个子树的高度最多相差1。 如果它们之间的高度差超过1,则将进行重新平衡以恢复此属性。 图1-4为旋转规则。现在给出了一系列插入,返回得到的AVL树的根结点。输入格式:每个输入文件包含一个测试用例。 对于每种情况,第一行都包含一个正整数N(≤20),它是要插入的键的总数。 然后在下一行中给出N个不同的整数键。 一行中的所有数字都用空格分隔。输出格式:对于每个测试用例

2020-07-15 21:33:22 418 1

原创 详解-04-树4 是否同一棵二叉搜索树

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作

2020-07-09 13:21:24 433

原创 详解-03树2 List Leaves

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:译文:给定一棵树,按照从上到下,从左到右的顺序列出所有叶结点。输入格式:每个输入文件包含一个测试用例。 对于每种情况,第一行给出一个正整数N(≤10)N(≤10)N(≤10),它是树中节点的总数。节点从000到N−1N-1N−1编号。 然后跟随NNN行,每行对应一个节点,并给出该节点左右子节点的索引。 如果孩子不存在,将在该位置放置一个“-”。 任何一对孩子都用空格隔开。输出格式:对于每个测试用例,按从上到下,从左到右的顺序在一行

2020-07-07 12:46:49 487 2

转载 Python set,list,dict基本操作的时间复杂度

写在最前不管是刷题还是平时项目中,程序的时间复杂度都是评价程序好坏的一个很重要的因素,但是一些内置函数的时间复杂度由于不是自己编写,因此需要自行记忆,本篇文章是Python中set,list和dict基本操作的时间复杂度总结,方便查找。Listpython的列表内部实现是数组(具体实现要看解析器, CPython的实现 ),因此就有组数的特点。超过容量会增加更多的容量,set, get 是O(1)O(1)O(1),但del, insert, in的性能是O(n)O(n)O(n)。具体的看下表,'n'是

2020-07-06 16:59:48 3134

原创 详解-03树1树的同构-静态链表实现

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,

2020-07-06 15:53:56 258

原创 详解-归并排序(Mergesort)-C语言Python递归实现

写在最前昨天总结了快速排序作为一名自律的“撰笔人”(误),昨天说今天写总结归并排序的文章绝对不鸽(狗头)。归并排序(Mergesort)归并排序,跟昨天介绍的快速排序同样都是基于分治(divide and conquer)的思想创建在归并操作(merge)上的一种排序方法。所谓归并操作,是指将两个已经排序好的序列合并成一个序列的操作。因此,基于分治法的思想和归并操作,归并排序的具体步骤如下。递归法步骤:将 待排序序列分成两个子序列,申请两个大小为两个子序列大小的空间,用来存储两个子序列。分配两

2020-07-03 14:09:49 535

原创 详解-快速排序(Quicksort)-C语言Python实现

写在最前最近在刷Leetcode的时候碰到一些题的解法是基于归并排序的,今天终于耐心地去学习了一下归并排序,为了加深自己的理解便来写篇文章总结一下归并排序,于是想着顺便把以前学的快速排序也一并总结,加深印象。快速排序(QuickSort)又称分区交换排序(partition-exchange sortt),简称“快排”。快排使用分治(divide and conquer)的思想,每次排序时选择一个数,把一个序列分为大于(等于)该数的序列和小于该数的两个子序列,然后再递归地对两个子序列进行排序。..

2020-07-02 21:46:45 276

原创 详解-02线性结构4 Pop Sequence

写在最前又是准备秋招,盼望offer的一天,希望早日拿到offer好去搞研究搞毕业…吐槽完毕,感谢你能在这么多解题文章中选中了我的文章,好了进入正题,下文请。题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:译文:给定一个堆栈,最多可以保留M个数字。 按1、2、3,...,N1、2、3,...,N1、2、3,...,N的顺序按N个数字,然后随机弹出。 请确定给定的数字序列是否是堆栈的可能弹出序列。 例如,如果M为5,N为7,我们可以从堆栈中获得1、2、3、4、5、6..

2020-06-30 16:30:45 538

原创 详解-链表+数组双解法-线性结构3-Reversing Linked List

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:译文:给定一个常数KKK和一个单链表LLL,你应反转LLL上每个KKK元素的链接。例如,假设L为1→2→3→4→5→61→2→3→4→5→61→2→3→4→5→6,如果K=3K = 3K=3,则您 必须输出3→2→1→6→5→43→2→1→6→5→43→2→1→6→5→4; 如果K=4K = 4K=4,则必须输出4→3→2→1→5→64→3→2→1→5→64→3→2→1→5→6。输入格式:每个输入文件包含一个测试用例。 对..

2020-06-29 22:30:59 200

原创 详解-线性结构-一元多项式的乘法与加法运算

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4..

2020-06-28 21:38:39 590

原创 详解复杂度-Maximum Subsequence Sum

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:给定K个整数组成的序列[N​1,N2,...,​NK][N​1, N2, ..., ​NK][N​1,N2,...,​NK],“连续子列”被定义为[N​i,N​i+1​,...,N​j][N​i, N​i+1​ , ..., N​j][N​i,N​i+1​,...,N​j],其中1≤i≤j≤K1≤i≤j≤K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列[−2,11,−4,13,−5,−2][-2, ..

2020-06-28 20:44:46 610

原创 详解复杂度-最大子列和问题

题目来源:中国大学MOOC-陈越、何钦铭-数据结构题目详情:给定K个整数组成的序列[N​1,N2,...,​NK][N​1, N2, ..., ​NK][N​1,N2,...,​NK],“连续子列”被定义为[N​i,N​i+1​,...,N​j][N​i, N​i+1​ , ..., N​j][N​i,N​i+1​,...,N​j],其中1≤i≤j≤K1≤i≤j≤K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列[−2,11,−4,13,−5,−2][-2, ..

2020-06-28 16:28:18 585

原创 详解线性结构-两个有序链表序列的合并

写在开始:最近在准备秋招,想来从没系统的学习过《数据结构》这门课,但是秋招很多岗位都很重视数据结构,因此在慕课网上选了浙大陈老师和何老师的这门数据结构,因为这门课程涉及的程序都是基于C语言的,正好学习数据结构的同时能顺便复习巩固C语言。本篇文章是其中课后作业中的一道函数题,A过了之后分享于此,后续也会抽空分享其他A过的题目,与大家一起学习交流。题目源于:中国大学MOOC-陈越、何钦铭-数据结构题目详情:本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数.

2020-06-28 15:36:29 517

原创 【强化学习学习笔记】动态规划原理详解及代码实例

因为投过有关强化学习的岗位,最近在准备实习的面试,所以打算把强化学习的知识重新梳理一下。因为强化学习和动态规划都是基于MDP的序贯决策问题,(所谓序贯决策问题,是指按时间顺序排列起来,以得到按顺序的各种决策(策略))区别就在于动态规划是Model-Based的,而强化学习是Model-Free的,Model-Based和Model-Free的区别,因为今天的主题不是它们,所以就用一句话概括:区别...

2020-04-02 16:47:59 635

原创 内外积代数运算及python,tensorflow,matlab语句的实现

内外积代数运算及python,tensorflow,matlab语句的实现在进行数学运算的时候经常会碰到向量以及矩阵的乘法,如果对符号和概念没有搞清楚的话经常会出现错误,尤其是将数学表达式代码化的时候,如果搞不清数据的维度以及做的是哪种乘法的话也会出现一些无法避免的错误,轻则代码量较小,代码跑几秒提示错误,然后改正。重则成百上千行的代码反复尝试多次不知道错在哪里,浪费大量不必要的时间,我也是经常...

2020-03-23 20:07:33 1271 2

空空如也

空空如也

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

TA关注的人

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