自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 (JAVA版)leetcode算法之路树篇(二)二叉搜索树相关

开始遍历就行,当前节点的值大于这两个值,将当前节点移动到它的左子节点,反之亦然向右子树移动直到这个节点的值符合条件。这一部分没什么好说的,中序遍历后得到一个有序队列,然后在这基础上进行各种操作。,如果超出这个范围则不是二叉搜索树,每次递归这个范围的。二叉搜索树的题目一般都是用它的两个性质,第一个就是。对于两个点的最近公共祖先这个点的值肯定是。可以节省空间,就是相当于有个前缀指针。如果该二叉树的左子树不为空,则。不空,则右子树上所有节点的值均。前序遍历的每一个节点都是。,那就能通过遍历一次得。

2024-06-20 13:39:23 313

原创 (JAVA版)leetcode算法之路树篇(一)树的遍历相关

java做leetcode,因为以前用c++,所以同时也会记录一下用到的java知识

2024-06-13 17:42:22 996 2

原创 1039 Course List for Student (25分)

Input Specification:*Each input file contains one test case. For each case, the first line contains 2 positive integers: N (≤40,000), the number of students who look for their course lists, and K (≤2,500), the total number of courses. Then the student nam

2020-12-22 21:16:24 121

原创 (c语言)关于素数

1、素数(质数):除了1和本身之外,不能被其他数整除。1既不是素数也不是合数2、一个数n如果不是质数它的合数必然一个大于等于sqrt(n)一个小于等于sqrt(n) 所以只要求2到sqrt(n)的范围就行。bool isPrime(int n) { if (n <= 1) return false; int sqr = (int)sqrt(1.0*n);//sqrt要带浮点型所以乘1.0 for (int i = 2; i <= sqr; i++) { if (n%i == 0)r

2020-12-12 21:52:45 3607

原创 (c语言)1、最大公约数和最小公倍数

1、首先先了解分解质因数:每个合数都可以写成几个质数相乘的形式。如30=2×3×5 。2、最大公约数:指两个或多个整数共有约数中最大的一个。一般用gcd(a,b)来表示a和b的最大公约数,则有结论gcd(a,b)=gcd(b,a%b).证明:设a=kb+r; d为a,b的公约数则有r=a%b.(a和b为正整数)因为r=a-kb;d又为a,b的公约数 ;所以r/d=a/d-kb/d;显然r/d是整数所以d也是b和r的公约数由于d的任意性,a和b的公约数都是b和a%b的公约数所以两者最大

2020-12-12 20:59:42 897

原创 1055 The World‘s Richest (25分)

1055 The World’s Richest (25分)Forbes magazine publishes every year its list of billionaires based on the annual ranking of the world’s wealthiest people. Now you are supposed to simulate this job, but concentrate only on the people in a certain range of a

2020-11-13 10:40:41 105

原创 (c语言)(非递归)判断是否是同构二叉树

树的同构想必递归大家都知道了吧,这是我突然想到的,判断树的同构其实不用建树,所以这里用非递归也挺好写;时间复杂度是O(n²);空间复杂度是O(1);利用慕课的题目来说明给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。...

2020-05-01 23:55:47 711

原创 (c语言)给出二叉树的自下而上、从右到左的层次遍历算法

这个很容易想到层次遍历是自上而下,从左到右,说明将层次遍历出队列的元素入栈,最后出栈即可得b本篇以根节点为8的二叉搜索树8、5、10、3、7、9、11为例typedef struct Tree { int Data; struct Tree *Lc; struct Tree *Rc;}Btree; //树节点typedef...

2020-03-27 13:57:51 2456 1

原创 (c语言)非递归后序遍历二叉树

本篇用一棵根节点为8的二叉搜索树来遍历8、5、10、3、7、9、11#include<stdio.h>#include<stdlib.h>#pragma warning(disable:4996)typedef struct Tree { int Data; struct Tree *Lc; struct Tree *Rc;}Btree; ...

2020-03-27 13:31:37 990 1

原创 已知一个整数序列 A =(a 0 ,a 1 ,..., a n-1 ),找出 A 的主元素

用时间复杂度O(n)的算法。思路:序列中删去两个不相等的数,主元素不变。步骤一:选择第一个元素为候选主元素,使用一个计数器,初始值为1,碰见一个相同值的元素,计数器加1否则减一。若计数器的值已经等于0,则更换为下个元素为候选主元素。最后计数器值的意义是从左到右不停删去两个不相等的数,剩下相同数即候补主元素的个数。步骤二:判断是否是真正的主元素,统计候补主元素个数int majority(i...

2020-03-16 18:46:07 4507 1

原创 (C语言)【2011统考真题】两个序列的中位数是含他们所有元素的升序序列的中位数,现有两个等长升序序列A和B求他们的中位数,要求时间和空间尽可能高效的算法

这个题目的时间复杂度最小可以是O(logn);解析:设A=(11,13,15,17,19)B=(2,4,6,8,20);第一种想法:把A和B混合到一起再找中位数,这时候时间复杂度是O(n);第二种想法:将中位数左右两边依次同时减去等长的元素,中位数不变。A的中位数是15;B的中位数是6;因为A和B都是等长升序序列,说明A和B混合之后的中位数 6<=Mid<=15这时候将6的左...

2020-03-15 23:01:08 717

原创 (c语言)最大子列和问题(非二分查找和二分查找)

给定K个整数组成的序列{ N​1​​, N2​​, …, N​K​​},“连续子列”被定义为{ Ni​​, N​i+1​​, …, N​j​​},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨...

2020-03-11 21:20:43 142

原创 (C语言)04-树7 二叉搜索树的操作集

本题要求实现给定二叉搜索树的5种常用操作。函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );Position FindMin( BinTree BST );...

2020-03-10 16:22:18 99

原创 (c语言版)装箱问题

假设有N项物品,大小分别为s​1​​、s​2​​、…、s​i​​、…、s​N​​,其中s​i​​为满足1≤s​i​​≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个...

2020-03-05 23:39:20 1964

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除