终端和Shell是什么?
终端 在早期的计算机历史上,终端是一种硬件,是一种输入输出设备,用于和计算机交换信息。用户通过终端输入命令,终端将命令传入计算机,执行后,并把结果输入到终端上显示。 但是现在计算机硬件一体化程度越来越高,输入输出设备完全没必要单独用一个硬件和计算机进行交换信息…
|
637
|
|
1067 字
|
13 分钟
C++ STL介绍和底层原理讲解
STL简介 长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL c++的三种特性:封装,继承…
|
1,868
|
|
19271 字
|
4 小时
C和C++编译的四个阶段
常规操作 我们通常使用gcc/g++编译c/cpp文件,通常是使用如下一行代码 g++ -o 可执行文件.exe 源文件.cpp 但实际上这一行代码中省略了很多步骤,事实上,在编译的过程中还有很多步骤 编译中间过程 源代码通过编译器生成目标代码,目标代码通过链…
|
746
|
|
164 字
|
3 分钟
产生伪随机数及定积分计算
伪随机数 计算机是无法产生真正的随机数的,大部分程序和语言中的随机数(比如 C 中的,MATLAB 中的),都只是伪随机数。是由可确定的函数(常用线性同余),通过一个种子(常用时钟),产生的伪随机数。这意味着:如果知道了种子,或者已经产生的随机数,都可能获得接…
|
775
|
|
482 字
|
10 分钟
算法竞赛中cin/cout和scanf/printf的耗时对比
在一次无意的做题提交中,使用cin导致TLE(Time Limit Exceeded),而使用scanf没有导致TLE,而引发了我对cin和scanf的思考,由此产生了这篇文章 cin/cout和scanf/printf速度对比 在windows平台上测试会有…
|
1,531
|
|
1374 字
|
21 分钟
前缀、中缀、后缀表达式
前缀、中缀、后缀表达式 前缀(prefix)、中缀(infix)、后缀(suffix)表达式是对表达式的不同记法,其区别在于运算符相对于操作数的位置不同,前缀表达式的运算符位于操作数之前,中缀和后缀同理 举例: 中缀表达式:1 + (2 + 3) × 4 - …
|
751
|
|
1595 字
|
25 分钟
什么是死锁?
什么是死锁? 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 举例: 进程死锁 此时我们有两个线程…
|
606
|
|
931 字
|
11 分钟
Session 与 Cookie 的对比
Session 与 Cookie 的引入 引入:HTTP无状态协议,是指协议对于交互性场景没有记忆能力。 举例:在点击一个纯的html网页,请求获取服务器的html文件资源时,每次http请求都会返回同样的信息,因为这个是没有交互的,每一次的请求都是相互独立的…
|
658
|
|
2301 字
|
28 分钟
动态规划 – 背包问题
背包问题 前提规范 本文使用使用额外的二维数组C[i][j],表示在有i个物品时,背包中的最大容量为j,其中这i个物品可以全选,也可以不选。 参考文章 tianyicui/pack: 背包问题九讲 (github.com) 0-1背包 有N件物…
|
784
|
|
2219 字
|
32 分钟
数据库系统基础 之 SQL基础
SQL基础 structured query language 分类 全称 说明 DDL data definition language 数据定义语言,用来定义数据库对象(数据库,表,字段) DML data manipulation language 数据…
|
920
|
|
27802 字
|
5.6 小时