- 博客(8)
- 收藏
- 关注
原创 操作系统(六) 页面置换
知识导图一、页面置换概述当 CPU 访问的页面不在物理内存时,便会产生一个缺页中断,请求操作系统将所缺页调入到物理内存。当出现缺页异常,需调入新页面而内存已满时,选择被置换的物理页面,也就是说选择一个物理页面换出到磁盘,然后把需要访问的页面换入到物理页。二、页面置换算法(一)最佳页面置换算法(OPT)最佳页面置换算法基本思路是,置换在「未来」最长时间不访问的页面。所以,该算法实现需要计算内存中每个逻辑页面的「下一次」访问时间,然后比较,选择未来最长时...
2021-03-16 22:03:26 7515
原创 C++常见排序算法及优化(一.O(n2)级)
C++常见排序算法及优化(一.O(n2)级) 零、评价指标1. 执行效率 我们讨论某个排序算法的执行效率时,一般是指时间复杂度时,包括最好情况、最坏情况、平均情况时间复杂度。同时,在基于比较的排序算法的执行过程中,会涉及两种操作:一种是元素比较大小,另一种是元素交换或移动。所以,我们在分析排序算法的执行效率的时候,也应该把比较次数和交换(或移动)次数也考虑进去。2. 内存消耗 排序算法的内存消耗可以通过空间复杂度来衡量。这里引入一个概念: · 原地排序:指空间复杂度是 O(1) 的排序
2021-02-09 00:35:12 591
原创 Leetcode 14 字符串最长公共前缀
题目要求:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。所有输入只包含小写字母 a-z 。 示例 :输入: [“flower”,“flow”,“flight”]输出: "fl" 思路1:暴力解,每轮依次选一个字符,与所有字符串对应位置的字符进行比较,相同则结果字符串加上该字符,不同则返回当前结果字符串。c++代码:class Solution {public: string longestCommonPrefi
2020-12-10 00:18:34 191
原创 C/C++实现组合数
C++实现组合数组合数公式为:C(n,m)=(nm)=Cnm=n!m!(n−m)!=n(n−1)⋯(n−m+1)m!C(n,m) = \left( \begin{array}{l}n\\m\end{array} \right) = C_n^m = \frac{{n!}}{{m!(n - m)!}} = \frac{{n(n - 1) \cdots (n - m + 1)}}{{m!}}C(n,m)=(nm)=Cnm=m!(n−m)!n!=m!n(n−1)⋯(n−m+1)c++代码:
2020-12-09 23:00:27 2110 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人