算法
算法
799 ovo
up!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
页面置换算法——LRU的简易实现(C++)
LRU最近最久未使⽤的置换算法(LRU):最近最久未使用(LRU)的置换算法的基本思路是,发生缺页时,选择最长时间没有被访问的页面进行置换,也就是说,该算法假设已经很久没有使用的页面很有可能在未来较长的⼀段时间内仍然不会被使用。图解:最后一步因为1号页面是「过去时间段里最久没有被访问的」, 所以把1号页面换出到磁盘,然后把3号页面换入到内存。代码简易实现#include<iostream>#include<list>#include<map>using原创 2021-05-18 11:50:23 · 1812 阅读 · 1 评论 -
【排序算法】归并排序
归并排序#include<iostream>using namespace std;void merge(int* a, int* temp, int begin, int middle, int end){ int i = begin; int j = middle + 1; int k = 0; while (i <= middle && j <= end)//比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置原创 2021-04-17 14:20:50 · 337 阅读 · 1 评论 -
【排序算法】交换排序(冒泡排序,快速排序)
1.冒泡排序#include<iostream>using namespace std;void bubbleSort(int arr[], int length){ for (int i = 0; i < length-1; i++) { for (int j = 0; j < length-1-i; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr原创 2021-04-17 14:08:05 · 239 阅读 · 1 评论 -
【排序算法】选择排序(简单选择排序,堆排序)
1.简单选择排序#include<iostream>using namespace std;void Swap(int arr[], int i, int j){ int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;}void selectSort(int arr[], int length){ if (arr==nullptr || length == 0) return; for (int i = 0; i < l原创 2021-04-17 14:02:03 · 185 阅读 · 2 评论 -
【排序算法】插入排序(直接插入排序,希尔排序)
1.插入排序(Insertion Sort)#include<iostream>using namespace std;void insertSort(int arr[], int length){ for (int i = 1; i < length; i++) { int end = i - 1; int tmp = arr[i]; while (end >= 0) { if (arr[end] > tmp) { arr[en原创 2021-04-17 13:56:10 · 103 阅读 · 0 评论 -
判断一棵二叉树是否为满二叉树(两个队列)
判断一棵二叉树是否为满二叉树1。递归bool Is_Full(BtNode *ptr){ return ((ptr==NULL) && Is_Full(ptr->leftchild) && Is_Full(ptr->rightchild) && (Get_Depth(ptr->leftchild) == Get_Depth(ptr->rightchild)))}使用递归的方法特别地麻烦,递归的量特别的大,所以我们换一种思路原创 2020-11-24 22:13:18 · 1410 阅读 · 0 评论 -
递归与非递归方式寻找二叉树中某个节点的值
递归与非递归方式寻找二叉树中某个节点的值原创 2020-11-24 17:25:48 · 1392 阅读 · 0 评论 -
1~n中1出现的次数
1~n中1出现的次数输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6思路首先,输入一个正整数n,需要我们输出1~n中1有多少个。我们很容易想到从1开始循环累加到n,利用n对10求余数判断是否出现了1,如果整数大于10,就让整数除以10再判断是否为1.然而这个题目可以通过找规律的技巧找到解题的新的思路。1、0-原创 2020-11-04 14:37:39 · 540 阅读 · 0 评论
分享