算法
Ben_ming
这个作者很懒,什么都没留下…
展开
-
堆排序
堆排序升序->大顶堆降序->小顶堆步骤(1)构造堆(2)取下堆顶值,继续构造堆(3)循环(2)直到堆中剩下最后一个元素,排序完成构造堆举例 构造大顶堆找到最后一个非叶子节点的下标,arr.length/2-1从右往左,从下往上,构造大顶堆第一轮第二轮第三轮(1)拿到索引节点的值,存到temp中,比较索引节...原创 2020-01-03 15:35:40 · 175 阅读 · 0 评论 -
二叉树的遍历(递归与非递归)
二叉树的遍历1.前序遍历根左右非递归法箭头序号对应访问步骤打印结果:A B D E C F/** * 前序遍历 - 递归 * @param treeNode */ public static void rePreOrderTraversal(TreeNode treeNode) {...原创 2020-01-02 22:31:42 · 218 阅读 · 0 评论 -
二分查找与插值查找
一、二分查找(折半查找)思路考虑数组中可能有等值元素二、插值查找介绍插值查找算法: 插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找插值索引:int mid = low + (high - low) * (key - arr[low]) / (arr[high] - arr[low]) ;对比1) 对于数据量较大,关键字分布比较均匀的...原创 2019-12-31 17:13:47 · 603 阅读 · 1 评论 -
Josephu(约瑟夫) 问题
Josephu 问题:设编号为 1,2,... n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由此 产生一个出队编号的序列。生活中的问题:丢手绢问题,小孩出圈问题,猴子选大王问题(https://blog.csdn.net/Ben_m...原创 2019-12-30 15:23:21 · 412 阅读 · 1 评论 -
求素数的方法汇总
// 按字典序输出2 到 n 的素数// 效率由低到高// 方法6 目前还不会 以后再加上#include <iostream>#include <cmath>using namespace std;void is_Prime_1(int n);//试除法void is_Prime_2(int n);//试除法void is_Prime_3(int n);//试除法void...原创 2018-05-02 21:49:08 · 290 阅读 · 0 评论