Invoker's Tower

Hello Unknown World!

排序:
默认
按更新时间
按访问量
RSS订阅

二叉树的各种操作(遍历/深度/距离/转换)

(1):前序遍历,中序遍历,后序遍历; (2):层次遍历; (3):求树的节点数; (4):求树的叶子数; (5):求树的深度; (6):求二叉树第 k 层的节点个数; (7):判断两棵二叉树是否结构相同; (8):求二叉树的镜像; (9):求两个节点的最低公共祖先节点; (10):求任意两节点...

2017-07-08 15:08:56

阅读数 964

评论数 0

最大堆解Top K问题

转载自:http://blog.csdn.net/v_JULY_v/article/details/6370650 查找最小的k个元素(数组) 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。 采...

2017-07-04 00:08:05

阅读数 728

评论数 0

五大算法思想:分治、动态规划、贪心、回溯和分支界定

转载自:http://blog.csdn.net/yapian8/article/details/28240973 分治算法 一、基本概念    在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把...

2017-06-22 20:57:48

阅读数 1921

评论数 0

剑指offer整理归纳(2/2)

二十一. 从上往下打印二叉树(面试题23) 题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题目解析: 其实就是层序遍历,先遍历完第一层,再遍历完第二层……这时,就要用到数据结构队列:先将根节点入队列,然后出队列,访问节点,将左右子节点入队列,依次循环即...

2015-09-04 16:27:14

阅读数 856

评论数 0

剑指offer整理归纳(1/2)

一.Singleton模式(面试题1) 1. 最简单的singleton,没有考虑到多线程、拷贝赋值、重用。 class Singleton { public: static Singleton& Instance() { static Sing...

2015-09-04 16:14:54

阅读数 1461

评论数 0

华为上机-字符串相关题目

华为校园招聘机考试题总结(软件)   1、删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。 #include#include#include#includeint delete_sub_str(constchar*str,constchar*sub_str,char*res...

2015-09-04 15:29:43

阅读数 1296

评论数 0

final/finally/finalize区别,中兴2014卷末题

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用...

2015-09-04 15:21:56

阅读数 542

评论数 0

最长公共子串、最长公共子序列、最长回文子串、模式匹配、最大子序列--字符串问题整理

一.最长公共子串问题集(Longest Common Substring/LCS)     最长公共子串问题的基本表述为:     给定两个字符串,求出它们之间最长的相同子字符串的长度。     最直接的解法自然是找出两个字符串的所有子字符串进行比较看他们是否相同,然后取得相同最长的...

2015-08-25 10:39:49

阅读数 3982

评论数 1

数据结构习题记录-牛客网

1 下列哪两个数据结构,同时具有较高的查找和删除性能?() AVL树 Hash表 2 以下操作中,数组比线性表速度更快的是____   返回中间节点 选择随机节点 3 当很频繁地对序列中部进行插入和删除操作时,应该选择使用的容器是() list stl提供了三个最基本的容器:ve...

2015-08-25 10:35:22

阅读数 4318

评论数 0

冒泡排序、插入排序、选择排序、希尔排序、堆排序、归并排序等常用排序算法的比较

掌握好常用的排序算法,在实际的项目开发中可以节省很多的时间。每一种排序算法在执行的效率上是存在差别的,这些微小的时间差,也许在平常的联系当中感觉不到,但是涉及到数据量比较大或者是在资源比较紧张的系统中就显得尤其的重要,比如嵌入式系统。下面简要介绍三种常用的排序算法以及他们的执行效率的比较。    ...

2015-04-24 16:49:21

阅读数 8070

评论数 0

二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较

我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势: (1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形...

2015-04-24 16:48:07

阅读数 1184

评论数 0

算法概念:大O表示法/小o表示法/Ω/Θ

如果算法A需要的时间与f(n)成正比,则算法A称为f(n)阶,表示为O(f(n))。函数f(n)称为算法的增率函数(growth-rate function)。该表示法使用大写字母O来表示(order),故称大O表示法。若规模为n的问题需要的时间与n成正比,则问题表示为O(n),即n阶。若需要...

2015-04-24 16:34:40

阅读数 15056

评论数 2

栈和二叉树--中缀/后缀表达式的相互转换

中缀表达式与后缀表达式 中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。 与前缀表达式(例:+ 3 4)或后缀表达式(例:3 4 +)相比,中缀表达式不容易被计算机解析,...

2015-04-20 22:20:53

阅读数 3099

评论数 0

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