
算法学习
稳健的不高冷的强哥
这个作者很懒,什么都没留下…
展开
-
计算完全二叉树节点个数(递归、层次遍历、二叉搜索)
一、递归遍历O(n)二、层次遍历O(n)三、二叉搜索O(logn*logn)参考网址:Count Number of Nodes in a Complete Binary Tree (Leetcode Problem Solution) (includehelp.com)#include<iostream>#include<vector>#include<queue>#include<stack>#include<ctim.原创 2022-04-17 12:38:24 · 1283 阅读 · 0 评论 -
四、Morris、递归实现二叉树前、中、后序遍历
实验时间:11.10目录生成完全二叉树Morris算法实现morris遍历介绍morris遍历的实现原则morris遍历的实质简述算法过程递归实现实验结果(含时间、空间、输出结果):源代码生成完全二叉树使用队列生成即可。//利用队列,生成的完全二叉树void CreateTreeNode(TreeNode *root, int Num) { queue<TreeNode *> Q; Q.push(root);//根结点入队原创 2021-11-21 19:46:23 · 474 阅读 · 0 评论 -
3.将double数据除去小数部分
double double_int(double a){//去除double型数据的小数部分,保留整数部分 double i = 1, power = 1, a1 = 0;//i为a的整数位数,power为整数部分最高位权重 for (double n = a / 10; n >= 1; i++)//求i(整数位数) n /= 10; if (i < 10) return int(a); else { for (int j = 1; j < i; j++)//求po.原创 2021-12-01 22:57:08 · 3218 阅读 · 0 评论 -
2.数组右移一位(两种方法)
右移的两种代码void rightshiftofseries(int a[], int n){//第一种 // int temp1 = a[0], temp2 = 0; //n为数组长度 // for (int i = 0; i < n - 1; i++) // { // temp2 = a[i + 1]; // a[i + 1] = temp1; // temp1 = temp2; // } // a[0] = temp1;//第二种 int temp = a[n -.原创 2021-12-01 22:37:42 · 3408 阅读 · 2 评论 -
1.交换两个变量的数据(深入学习)
交换变量数据本质是,第三个变量暂存其中一个数据。使用第三个变量,法1简单明了,不会产生歧义;可以实现大类型(比如自定义的类或结构)的交换,可作为标准算法;但是中间变量、拷贝数据开销不容小觑。不使用第三个变量,法2.1,法2.2,法2.3(最推荐位运算)本质是,a,b中的一个变量暂存a,b之间的某种关系,加减乘除皆可,最奇妙的最快速的是位运算仅限于整数类型,位运算非常迅速,个人推荐。交换变量的地址本质,交换变量的地址使用第三个变量,法3.1在法1的基础上,指针作原创 2021-11-05 21:36:12 · 206 阅读 · 0 评论