Michelle

勤练带来力量,自律将有成果

B树、B-树、B+树、红黑树的关系

B树 B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树。特此说明。 先介绍下...

2019-07-15 06:45:39

阅读数 3

评论数 0

二叉树必考重点算法

1、二叉树的分层遍历(宽度优先搜索) 2、从上往下打印出二叉树的每个节点,同层节点从左至右打印 这个和第一题基本相同,依靠vector保存访问,queue队列实现遍历 vector<int> PrintFromTopToBottom(TreeNode* root)...

2019-07-14 17:16:23

阅读数 9

评论数 0

链表必考重点算法

一、单链表反转 LinkList Reserve_L(LinkList L) { if(L==NULL||L->next==NULL) return 0; LNode *p,*r; p=L->next;//指向第一个结点 L->...

2019-07-14 16:35:40

阅读数 11

评论数 0

常用排序算法总结

排序的定义: 重新排列表中的元素,使表中元素满足按关键字递增或递减的过程。 算法稳定性 如果待排序表中有两个元素Ri和Rj,关键字Ri=Rj,排序前Ri在Rj前面,某一排序算法后,Ri还在Rj前面,这个排序算法就是稳定的,否则称不稳定的。 排序过程中,根据数据元素是否完全在内存中,排序算法...

2019-07-11 11:30:50

阅读数 14

评论数 0

操作系统必考重点

并发与并行 并发:指宏观上在一段时间内能同时运行多个程序,但任一个时刻点上只有一个程序在处理器上运行,是逻辑上的同时发生(并行更多是侧重于物理上的同时发生)。 并行:指同一时刻能运行多个指令,需要硬件支持,如多流水线或者多处理器。 进程与线程 进程:进程是资源(CPU、内存等)分配的基本单位,它是...

2019-07-11 09:28:28

阅读数 12

评论数 0

动态规划常规题目(经典常考重点)

1 连续子数组和 时间限制:1秒 空间限制:32768K 热度指数:253787 本题知识点: 数组 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果...

2019-07-15 20:28:20

阅读数 0

评论数 0

栈的压入与弹出模拟

时间限制:1秒 空间限制:32768K 热度指数:359923 本题知识点: 栈 算法知识视频讲解 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该...

2019-07-15 15:34:14

阅读数 0

评论数 0

数组中只出现一次的数

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) { map<i...

2019-07-15 15:03:34

阅读数 1

评论数 0

二维数组中的查找算法

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1 最普通的查找就是循环遍历比较 bool Find(int target, vector&a...

2019-07-15 09:27:43

阅读数 2

评论数 0

用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 class Solution { public: void push(int node) { stack1.push(node); } int pop() { ...

2019-07-15 08:14:20

阅读数 3

评论数 0

编程题出现最多的数

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 int MoreThanHalfNum_Solution(vector<...

2019-07-14 19:17:51

阅读数 4

评论数 0

编程题-字符转换数字

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是...

2019-07-14 17:24:20

阅读数 7

评论数 0

编程题练习-点集运算

时间限制:1秒 空间限制:32768K P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内) 如下图:实心...

2019-07-12 20:32:16

阅读数 11

评论数 0

斐波那契数列的三种算法实现

数列说明 f(n)=f(n-1)+f(n-2) (n>2) f(0)=1;f(1)=1; 递归实现: #include<stdio.h> #include<stdlib.h> long long Fib(long long N...

2019-07-12 11:59:44

阅读数 12

评论数 1

编程题-第一次只出现一次的字符串

时间限制:1秒 空间限制:32768K 热度指数:279851 本题知识点: 字符串 算法知识视频讲解 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). in...

2019-07-11 19:15:48

阅读数 17

评论数 0

编程题-丑数

时间限制:1秒 空间限制:32768K 热度指数:286110 本题知识点: 穷举 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 int GetUgl...

2019-07-11 18:42:03

阅读数 16

评论数 0

编程题-替换空格

时间限制:1秒 空间限制:32768K 热度指数:1032590 本题知识点: 字符串 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 replaceSpace函数体和参数已给...

2019-07-11 18:33:20

阅读数 15

评论数 0

sort()排序函数

sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! sort函数包含在头文件为algorithm的c++标准库中,调用标准库里的排序...

2019-07-11 15:20:49

阅读数 9

评论数 0

C++标准模板库(STL)

C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。 C++ 标准模板库的核心包括以下三个组件: 下面的程序演示了vector容器(一个 C++ 标准的模板),它与动态数组十分相似...

2019-07-11 10:32:44

阅读数 14

评论数 0

C++多线程

多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。 基于进程的多任务处理是程序的并发执行。 基于线程的多任务处理是同一程序的片段的并发执行。 多线程程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称...

2019-07-11 10:24:04

阅读数 12

评论数 0

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