分析框架 1、以算法输入规模n作为参数进行分析算法效率 2、时间复杂度:找出基本操作O(1),再计算它的运行次数(忽略乘法常量,仅关注增长次数) 3、增长次数:log2n<n<nlog2n...
用蛮力法解决选择排序问题
蛮力法是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义。 选择排序思想: 在选择排序开始的时候,扫描整个列表,找到最小元素,然后和第一个元素交换,将最小元素放到它在有序列表的最...
用蛮力法解决冒泡排序
冒泡排序是蛮力法的另一个经典体现。 算法思想:比较列表中相邻的元素,如果是逆序的话,就交换他们的位置。重复多次之后,最大的元素就排到了最后一个位置。第二遍操作将第二个元素排到了倒数第二个位置上,这样一...
操作系统常见问题解答~
一:说明进程在三个基本状态之间转换的典型原因 (1)处于就绪状态的进程,当进程调度程序为其分配了处理机后,该进程就由就绪状态转变为执行状态。 (2)正在执行的进程,若因为分配给他的时间片用完而被剥夺处...
算法——跳跃搜索
像二进制搜索一样,跳跃搜索是排序数组的搜索算法。基本思想是通过固定步骤跳过或跳过某些元素代替搜索所有元素来检查较少的元素(而不是线性搜索)。
算法——俄式乘法
两个正整数相乘的非主流算法 假设n和m是两个正整数,计算n*m,现在用n的输入作为实例规模的度量标准。 假设n是偶数,一个规模为原来一半的实例必须要对n/2进行处理,n*m=n/2 * 2m 假设n是...
使用 coredumpctl 查找并处理 BUG
一个不幸的事实是,所有的软件都有 bug,一些 bug 会导致系统崩溃。当它出现的时候,它经常会在磁盘上留下一个被称为“核心转储”的数据文件。该文件包含有关系统崩溃时的相关数据,可能有助于确定发生崩溃...
算法——二分查找详解
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少; 其缺点是要求待查表为有序表,且插入删除困难。 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 首先,假设表...
bash shell 中如何区别 $()和${}和$(())和(())
$()和${}的用法: 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。而 $( ) 并不见的每一种 shell 都...
Netstat 的几个常用方法
Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。...
python之字符串详解
大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变...
记踩到 MySQL in 子查询的“坑”
前言 MySQL是项目中常用的数据库,其中in查询也是很常用。最近项目调试过程中,遇到一个出乎意料的select查询,竟然用了33秒! 一、表结构 1. userinfo 表 2. article 表...