- 博客(19)
- 收藏
- 关注
原创 C语言基本并发操作简介
C语言基本并发操作简介引言实验环境利用fork函数创建进程创建实例进程之间的竞争竞争实例创建线程等待线程注意事项线程实例线程共享数据共享数据实例总结引言在处理一些数据集比较繁杂且解题思路比较单一的问题时,可以通过同一个算法计算多次循环操作解决,但当对效率要求比较高的时候,如果电脑的配置比较好,通常倾向于采用并发编程,其中,线程之间由于切换比较复杂,上下文切换时间较长,并且进程间数据共享比较麻烦,这里我们通常倾向于利用多线程的方法来解决问题。这里我们简要介绍一下多进程、线程思想的一些基本操作。实验环境
2021-03-25 12:43:14
3785
原创 走进Linux服务器之一:Linux操作基础9——Linux磁盘管理(二)
Linux磁盘管理 第二部分前言一、逻辑卷LVM1.创建LVM2.VG管理3.LV扩容4.删除逻辑卷二、高级存储管理1.文件系统详解2. 文件链接三、 创建软RAID总结前言之前我们讨论了关于硬盘的基本知识、如何分区、创建文件系统(格式化)、挂载和卸载,以及如果对要打算作为交换分区的分区做后两步操作,现在我们来讨论关于磁盘管理的其他部分的知识。一、逻辑卷LVM逻辑卷LVM(Logical Volume Manager),它是Linux环境下对磁盘分区进行管理的一种机制,性质与基本的磁盘没有区别。特点
2021-02-04 10:11:58
457
原创 走进Linux服务器之一:Linux操作基础9——Linux磁盘管理(一)
Linux磁盘管理 第一部分前言一、基本分区1.磁盘简介2.管理磁盘二、交换分区管理SWAP1.简介2.查看当前的交换分区3.创建交换分区三、注意总结前言之前我们学习了关于管道和重定向相关的知识,现在我们来讨论一下关于硬盘(存储)管理相关的知识。一、基本分区1.磁盘简介磁盘,也称作硬盘、disk,不同于内存,它的容量比较大。磁盘的类型,从工作原理区分可以分为机械硬盘和固态硬盘。机械硬盘既是传统普通磁盘,主要有盘片、磁头、盘片转轴及控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。固
2021-01-28 14:27:05
876
原创 走进Linux服务器之一:Linux操作基础8——Linux管道与重定向
管道与重定向前言一、重定向1.利用 > 将操作显示的信息重定向输入到文件中2. FD简介3. 重定向及综合案例4.将输入进行重定向二、管道1.管道的基本使用2.tee管道3. 参数传递Xargs总结前言之前我们讨论进程管理的时候就已经运用到了管道和重定向的部分,这里我们来详细的探讨关于管道和重定向相关的知识。一、重定向1.利用 > 将操作显示的信息重定向输入到文件中以date操作为例子,我们在shell中输入date之后会输出目前系统的时间:dateWed Jan 27 09:02
2021-01-27 10:15:40
198
1
原创 走进Linux服务器之一:Linux操作基础7——Linux进程管理
Linux进程管理前言一、进程管理1.静态查看进程(ps)2.动态产看进程(top)3.使用信号量控制进程(kill)4.进程优先级(nice、PR)二、 作业控制 (jobs)三、虚拟文件系统(proc)总结前言之前我们在文章中讨论了关于用户的权限等相关的知识,现在我们来讨论关于进程管理等相关的知识,实现运用指令来查看、删除或对进程进行其他相关的操作。一、进程管理1.静态查看进程(ps)ps指令就是指process status,即为进程状态管理器。在终端中利用ps指令来查看进程,就好比Win
2021-01-26 16:03:53
355
原创 安装Ubuntu之后要做的事情+美化
安装Ubuntu之后要做的事情+美化前言一、安装后必须做的一些事情1.给root(超管)设置密码2.更换国内下载源清华源阿里源中科大源网易163源3.安装markdown编辑器4.安装办公软件WPS5.调整Ubuntu和Windows双系统时钟不同步问题6.截图工具二、为了丰富系统我会做的一些事情1.安装谷歌chrome浏览器2.安装QQ音乐/网易云音乐3.安装deepin-wine 的 QQ 和 微信4.安装VLC影音播放器5.安装Microsoft Windows Fonts微软字体库6. 安装开源PS
2021-01-18 13:50:35
1256
1
原创 走进Linux服务器之一:Linux操作基础6——Linux用户的权限
Linux用户的权限前言一、权限的一些基本概念1.权限的三类对象2.权限的三种类型3.更改权限的格式二、更改权限(chmod)1.通过符号的格式更改权限2.通过数字的格式更改权限三、更改属主、属组(chown)四、更改属组 (chgrp)五、ACL文件权限管理六、特殊权限1.特殊位 suid2.文件属性chattr3.进程掩码umask首先我们可以观察一下系统的默认掩码:尝试修改进程掩码:总结前言之前我们讨论了关于linux系统中用户和组的概念和管理,引入组的概念就是为了方便确定用户的各种权限,下面我们
2021-01-14 01:55:47
228
原创 走进Linux服务器之一:Linux操作基础5——Linux组管理、用户提权
linux组管理、用户提权前言一、存储用户组信息的文件/etc/group二、用户组的常用管理操作1.创建组(groupadd)2.删除组(groupdel)三、组的类型1.基本组2.附加组四、usermod中关于组的操作五、提权永久提权 (Switch User su)临时提权 (sudo)总结前言之前我们讨论过linux系统中关于用户的日常管理,接下来我们来讨论关于组的管理。在linux操作系统中,每一个进程(正在运行的程序)都会被一个具体的用户拥有。每一个文件也会被一个具体的用户所拥有(文件的
2021-01-12 21:08:13
130
原创 走进Linux服务器之一:Linux操作基础4——Linux用户管理
前言本节我们开始讨论关于linux系统中关于用户管理的部分,涉及到用户,组,其他等名词(UGO: user, group, others)。我们将会讨论如何根据系统的内部文件进行对用户和组的相关信息进行查看。一、用户/组信息存储的文件1.用户基本信息文件etc文件用来存储系统的配置文件,用户的基本信息文件在目录/etc/passwd文件中:cat /etc/passwd我们可以看到很多文字,比如在我整理笔记的Ubuntu 20.04 LTS系统中,我们只看前五行:cat /etc/passw
2021-01-12 19:50:52
365
原创 ubuntu20.04运行网易云音乐出现无法播放、下载的情况
Ubuntu网易云音乐不能播放下载最近在为了学习和开发,在主机上安装了ubuntu20.04,在成功的摒弃了很多windows上的习惯之后,慢慢的开始习惯这种类unix系统的操作和使用。但是出现了一个问题:我本人很喜欢在工作的时候听音乐,当我上网易云官网的时候,突然发现下载客户端里有猫腻!其他操作系统?莫非……果然有linux版本!下载deb安装之后,发现可以完美运行。然后我就按照通常的习惯把他做了自己喜欢的设置……结果发现音乐根本下载不了了,在线播放也不行。在网上找参考发现给它的音乐下载目
2021-01-09 09:58:54
1142
6
原创 走进Linux服务器之一:Linux操作基础3——Linux基本文件操作(读写)
Linux基本文件操作【读写】前言文件阅读操作cat指令查看全部内容head、tail查看开头、结尾more翻页方式查看文件grep对文件进行关键字查找文件改写操作重定向gedit文件编辑器vi、vim文件编辑器vim的模式切换vim的命令模式vim的编辑模式vim的可视化模式总结前言之前讨论过如何对文件和文件夹进行增删和移动的操作,这里我们来讨论一下如何对文件进行读写操作。文件阅读操作cat指令查看全部内容cat指令是一个专门用来查看,也是一个只能用来查看文件的操作。比如我们在我的服务器上面写
2020-10-21 23:57:39
426
原创 走进Linux服务器之一:Linux操作基础2——Linux基本文件操作(增删)
Linux基本文件操作前言一、Linux文件的特点二、Linux命令的格式三、绝对路径和相对路径四、文件管理操作命令1.pwd:查看当前的工作目录2.ls:列出目录3.cd:切换目录4.touch:创建文件5. mkdir:创建文件夹指令6.cp:文件拷贝7.mv:移动文件8.rm:删除文件总结前言在这里我们将会开始学习Linux的基本文件操作,从现在开始我们要放弃之前习惯的Windows、Mac OS下习惯的鼠标操作GUI界面,我们的所有操作都是在终端下通过命令行进行的。一、Linux文件的特
2020-10-21 17:42:55
422
原创 走进Linux服务器之一:Linux操作基础1——Linux的发展史、主流Linux分支介绍
Linux基本操作Linux简要介绍Linux简要介绍Linux和一般我们常在电脑上使用的Windows系统不大一样,它是一种类Unix系统,是一种类似于在贝尔实验室研究开发的Unix系统的系统,与Unix不同的是,Linux是开源的系统,也就是说Linux系统的代码都是开放的,供大家研究,虽然Linux是一种雷Unix系统,但是Linux和Unix并没有继承关系,因为Unix是闭源的。Linux系统在1991年又当时正在上大学的Linus根据他所在的...
2020-10-21 14:35:31
666
1
原创 贪心算法-Djkstra求解无向图单源最短路径
Djkstra求解无向图单源最短路径图论中有很多很经典的问题和算法思想,如最小生成树,DFS,BFS,Powell染色问题等等。最短路径问题也是其中的经典问题之一,在地图导航等领域非常常用。求解最短路径的常用算法有Dijkstra算法、Floyd算法等等。前者只能求解单源最短路径,后者可以求解任意源到任一点的最短路径,后者的复杂度要比前者高。在这里具体阐述一下Dijkstra算法求解单源最短路径的基本算法思想:首先需要做的是创建一个空集S,表示已经遍历过的节点的集合。选定好源点O之后,便要把源点O放
2020-05-25 09:07:59
1749
原创 最优批处理问题-动态规划
题目介绍题目摘选自《计算机算法设计与分析(第5版)》,作者是王晓东,题目如下分析这道题也可以运用动态规划的算法解决,乍一看好像看不出来有什么最优子结构的性质,这道题目我们不能把它看作是最长升序子序列那样,一个一个元素拿出来分解成若干个含有重复的子问题,这种拆分的办法这个问题不适用。这道题我们需要以分组为单位进行拆分,比如说题目给的例子{1,2}{3}{4,5},这是原问题的最优解,我们把...
2020-04-23 15:39:09
1859
2
原创 最长单调递增子序列——动态规划算法
题目简介最长单调递增子序列是一个很经典的问题,他所需要的就是要在整个序列中(序列一般来讲应该是无序的)寻找出一个最长的升序子序列,这个子序列中的所有元素都必须来自这个原序列,它们可以在原序列中是不相邻的,但是它们之间的相对位置是不可以改动的。比如一个序列:(1, 7, 3, 5, 9, 4, 8)它有一些上升子序列,如(1, 7), (3, 4, 8)等等。在这些子序列中,长度最长的子序列...
2020-04-23 15:32:41
10152
5
原创 利用分治法实现归并排序
归并排序#归并排序是一个非常常见的排序方式,它是一种稳定的排序方式,时间复杂度为O(nlogn),易于理解,在学习数据结构或者算法的时候大家应该都学习过归并排序。那么我现在以int类型的数组为例,给出一个利用分治法实现的归并排序,也是递归实现归并排序的算法。#include <iostream>using namespace std;void merge (int* src, ...
2020-04-13 10:50:05
1039
原创 分治法实现寻找数组最大最小值
分治法实现寻找数组最大最小值大致思路我们拿到一个长度为K的一维数组,想要在短时间内进行最大最小值的查找,第一种想法就是现将数组进行排序,这样首末的元素分别是最小和最大的元素。排序算法中,快速排序、归并排序、堆排序等排序算法的时间复杂度都是O(nlogn),第二种想法就是建立堆,但是需要分别建立最小值堆和最大值堆,我们可以采取第三种做法,将整个数组进行一次次的二分,直到二分后的结果只有两个元素,...
2020-04-10 09:52:56
2403
2
原创 基于单向链表和一维数组实现线性表数据结构
基于单向链表和一维数组实现线性表数据结构线性表是比较简单的一种线性数据结构,有上手容易、实用性强、操作简便等等特点。线性表一般的操作包括建立(create),初始化(initial),插入数据(insert),压入数据(append),删除数据(remove),移动指针到顶部(MoveToStart),移动指针到底部(MoveToEnd),移动指针向前(prev),移动指针向后(next)。...
2019-10-11 20:11:27
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人