自定义博客皮肤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)
  • 收藏
  • 关注

原创 记录一下在Ubuntu下用Git命令行创建远程仓库并上传文件操作

记录一下在Ubuntu下用Git命令行创建远程仓库并上传文件操作此博客参考文章:初学者指南:在Ubuntu上安装和使用Git和GitHub:https://zhuanlan.zhihu.com/p/44181150Git的使用–如何将本地项目上传到Github:https://blog.csdn.net/zamamiro/article/details/70172900Github使用–使用Git命令创建远程仓库:https://blog.csdn.net/LuffysMan/article/

2020-11-18 21:42:16 489

原创 计算机系统进程模型概念

计算机系统进程概念以下进程概念内容均来自:https://www.bilibili.com/video/av16710919?p=13与《Linux网络编程(第二版)》首先,我们需要理解程序与进程的概念:进程与应用程序区别在于:应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中。而进程则是处于动态条件下由操作系统维护的系统资源管理实体。他们之间最大的不同之处在于:进程是动态的...

2020-01-23 18:09:00 382

原创 计算机执行一个可执行文件的流程

计算机执行一个可执行文件的流程以下内容来自https://www.bilibili.com/video/av16710919?from=search&seid=18265123330798971972可执行文件的C源代码为:main.c#include <iostream>int main(void){}...

2019-12-13 17:48:36 1704

原创 记录一下Ubuntu(Linux)下文件通用操作

记录一下Ubuntu(Linux)下文件通用操作以下内容参考自:LinuxLinuxLinux网络编程(第222版)https://www.cnblogs.com/Lxk0825/p/10216694.html操作文件常用头文件:头文件含义<sys/stat.h>文件状态头文件,含有文件或文件系统状态结构stat{}和常量<sys/typ...

2019-12-13 00:20:29 323

原创 记录一下Ubuntu下GDB的编译操作

记录下Ubuntu下GDB的编译操作在进行GDB调试程序前,我需要先生成可执行文件如下:main.cpp#include <iostream>using std::cout;using std::cin;using std::endl;void print(int argc, int *argv[]){ for (int i = 0; i < argc...

2019-12-08 01:32:44 290

原创 记录一下Ubuntu下Makefile多文件编译

记录一下Ubuntu下Makefile多文件编译一般格式:[Target/目标文件]:[Dependeds/依赖文件] [Dependeds/依赖文件] [Dependeds/依赖文件]... [Command/命令] // 注意:命令前面不是空格,而是一个TAB键我们这里先写几个C++源代码:Main.cppMain.cppMain.cpp#include <...

2019-12-06 23:27:34 470

原创 Ubuntu下编译程序(动态链接,静态链接,动态加载)

Ubuntu下编译程序(动态链接,静态链接)以下为C++程序作为示例:Code.hCode.hCode.h#ifndef CODE_H#define CODE_Hint add(int, int);#endifCode.cppCode.cppCode.cpp#include "Code.h"int add(int a, int b){ return a + b;...

2019-11-30 01:33:14 561

原创 用递归树方法求解递归式

用递归树方法求解递归式递归式:T(n)=3T(n/4)+Θ(n2)T\left(n\right)=3T\left(n/4\right)+Θ\left(n^2\right)T(n)=3T(n/4)+Θ(n2)我们先来了解一下这个递归式什么意思:333 表示我们将一个问题分解为333个子问题;n/4n/4n/4 则表明每个子问题的规模是原问题的1/41/41/4;T()T\left(\ri...

2019-11-26 21:50:38 6008

原创 Strassen算法

Strassen算法时间算法度:Θ(nlog27)≈Θ(n2.8074)Θ\left(n^{log_{2}7}\right)≈Θ\left(n^{2.8074}\right)Θ(nlog2​7)≈Θ(n2.8074)该算法主旨:StrassenStrassenStrassen算法的核心是让递归树不那么茂盛一点,即只递归777次而不是888次n/2×n/2n/2×n/2n/2×n/2矩阵的乘...

2019-11-21 21:45:12 354

原创 最大子数组问题(线性算法)

最大子数组问题(线性算法)时间算法度:Θ(n)Θ\left(n\right)Θ(n)该算法主旨:用一个DataDataData类数组来存储序列0..n0..n0..n的所有元素的和,然后进行比较,选出最大的。在我们循环的往Data[i]Data[i]Data[i]里面存储数据的时候,会进行对Data[i−1]Data[i−1]Data[i−1]的sumsumsum数据进行判断是否小于00...

2019-11-16 22:43:15 389

原创 最大子数组问题(分治法)

最大数组问题(分治法)时间算法度:Θ(nlgn)Θ\left(nlgn\right)Θ(nlgn)该算法主旨:

2019-11-16 21:03:00 300

原创 冒泡排序

冒泡排序时间算法度:Θ(n2)Θ\left(n^2\right)Θ(n2)该算法主旨:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。...

2019-11-15 23:48:24 179

原创 霍纳规则

霍纳规则时间算法度:Θ(n)Θ\left(n\right)Θ(n)该算法的主旨:霍纳规则是一种将一元nnn次多项式的求值问题转化为nnn个一次式的算法。实现了用于求值多项式:  P(x)=∑k=0nakxk=a0+a1x+a2x2+...+ak−1xk−1+akxkP\left(x\right)=\sum ^{n}_{k=0}a_{k}x^{k}=a_{0}+a_{1}x+a_{2}x^...

2019-11-15 22:59:02 379 3

原创 二分查找法

二分查找法时间算法度:Θ(lgn)Θ(lgn)Θ(lgn)该算法主旨:每次循环迭代查找,都将序列分成两半,再根据判断选择下一个将要分成两半的子序列。伪代码:/* —————————————————————————————————————————————————— * 二分查找法有两种方法,一个是用循环,一个是利用递归 * ————————————————————————————...

2019-11-14 21:45:33 136

原创 归并排序

归并排序时间算法度:Θ(nlogn)Θ\left(nlogn\right)Θ(nlogn)该算法主旨:归并排序算法完全遵照分治模式得三个步骤:分解:分解待排序得nnn个元素的序列,使其成为各具n/2n/2n/2个元素的两个子序列。解决:使用归并排序递归地排序两个子序列。合并:合并两个已排序的子序列以产生已排序的答案。当待排序的序列长度为111时,递归"开始回升",因为长度为111...

2019-11-13 21:36:59 85

原创 选择排序

选择排序时间复杂度:Θ(n2)Θ\left(n^2\right)Θ(n2)该算法的主旨:首先找到数组中最小的元素,与数组的第一个元素进行交换。然后找到数组中次最小得元素,与数组得第二个元素进行交换。如此循环到排序完成。伪代码:SELECTION-SORT(A)1 for i = 1 to A.length2 Min = A[i]3 Number = i...

2019-11-12 22:38:53 91

原创 插入排序

插入排序时间算法度:Θ(n2)Θ\left(n^2\right)Θ(n2)该算法的主旨:从数组的第二个元素开始,跟前面的元素比较,如果前面的元素大于它,则交换两个元素的位置,直到遇见小于它的元素则停止。如此循环直到排完序。伪代码:INSERTION-SORT(A)1 for j = 2 to A.length2 key = A[j]3 i = j - ...

2019-11-12 20:51:47 142

原创 算法导论第四章 4.1

算法导论第四章4.1 最大子数组问题1-1返回数组中最大的元素1-2FIND-MAXIMUM-SUBARRAY(A, low, high)1 Subscript_Low = low2 Subscript_High = right3 Subscript_Sum = -∞4 for i = low to high5 for j = i to high...

2019-11-01 22:49:31 295

原创 算法导论第二章 思考题

算法导论第二章思考题2-1证明:已知插入排序的最坏情况运行时间为O(n2)O(n^{2})O(n2),且我们使用插入排序来排序长度为kkk的n/kn/kn/k个子表。长度为kkk的一个子数组,用插入排序其最坏情况运行时间为O(k2)O(k^{2})O(k2),且有n/kn/kn/k个子表,得出O(nk×k2)O(\dfrac{n}{k} \times k^{2})O(kn​×k2),...

2019-10-13 16:52:45 196

原创 算法导论第二章 2.3

算法导论第二章2.3 设计算法3-1首先传递数组A和范围下标p = 1,r = 8(假设下标数组从1开始)到MERGE-SORT函数判断p是否小于r,也就是判断数组A中的元素个数,如果不满足p小于r,则数组中元素最大只有一个,也就不用排序获取范围中间的下标,赋值给q = 4接着递归调用第一个MERGE-SORT函数,传递数组A及其范围下标p = 1,q = 4如上一直递归到范围下标...

2019-10-12 00:04:19 148

原创 算法导论第二章 2.2

2.2 插入排序2-1  O(n³)2-2Selection-Sort(A)1 for i = 1 to A.length - 12 Subscript = i // 存储下标3 for j = i to A.length - 14 if A[Subscript] > A[j] 5 ...

2019-10-09 13:47:57 174

原创 算法导论第二章 2.1

算法导论第二章2.1 插入排序1-1首先,31是作为已经拿到左手上的牌j = 2,即我们开始再桌面上摸牌41,且我们左手最多有A.length = n张牌key获取当前牌的数据while语句开始循环,并和左手已经排好序的牌做对比,如果当前牌大于 前面的牌,则前面的牌往后移动一位,如果小于前面的牌或是前面没有牌了,则退出循环将当前的牌插入左手牌中。依次在for...

2019-10-06 20:36:29 181

空空如也

空空如也

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

TA关注的人

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