摘要:
概念: 后缀表达式是相较于中缀表达式而言的,像我们平时写的2+3*(4-(5+6))/7就是一个中缀表达式,那么如何将之变为后缀表达式呢?后缀表达式如何用来求解呢? 先来第一个问题(中缀->后缀): 变为后缀表达式方法(规则): 1.遇到操作数:直接添加到后缀表达式中 2.栈为空时,遇到运算符,直接 阅读全文
摘要:
#include using namespace std; int main() { int n, m, temp; //余数remainder 进位carry_bit int remainder=0, carry_bit=0; cin>>m; int a[10000]; for(int i=0; i<10000; i++) a[i]=0; a[1] = 1; for(i... 阅读全文
摘要:
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算 阅读全文
摘要:
n皇后问题 问题描述: 如何能够在 n×n 的棋盘上放置n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后 (任两个皇后都不能处于同一条横行、纵行或斜线上) 结题思路: 可采用深度优先算法,将棋盘看成一个n*n的地图,每层有n个顶点,共有n层。然后套用dfs,每一层要判断与前面的皇后会不会冲突,如果 阅读全文
摘要:
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : mad 阅读全文
摘要:
github 的使用教程(非常详细的小白视频)链接如下: http://yun.itheima.com/course/209.html Git 详细使用手册链接如下: https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA% 阅读全文
摘要:
5种I/O模型: 1.阻塞I/O 2.非阻塞I/O 3.异步I/O 4.信号驱动I/O 5.I/O复用 信号驱动和异步驱动的区别 信号驱动IO是指:进程预先告知内核,使得 当某个socketfd有events(事件)发生时,内核使用信号通知相关进程。 异步IO(Asynchronous IO)是指: 阅读全文
摘要:
有两个信号可以停止进程:SIGTERM和SIGKILL。SIGTERM比较友好,进程能捕捉这个信号( it can be caught and interpreted (or ignored) by the process),根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在 阅读全文
摘要:
epoll是I/O复用模型中相对epoll和select更高效的实现对套接字管理的函数。 epoll有两种模式 LT 和 ET 二者的差异在于 level-trigger 模式下只要某个 socket 处于 readable/writable 状态,无论什么时候进行 epoll_wait 都会返回该 阅读全文
摘要:
我们所使用的I/O模型一共有五种。 分别为阻塞I/O,非阻塞I/O,I/O复用,信号驱动I/O,异步I/O。 所谓I/O复用就是指管理多个I/O文件描述符,一般会使用(select,poll,epoll)3个函数中的一个来实现I/O复用。 下面就介绍一下其中的select int select(in 阅读全文