仰望星空

Using no way as way, having no limitation as limitation.

截拳道_以无法为有法,以无限为有限

Using no way as way, having no limitation as limitation.

2018-11-14 10:54:58

阅读数 93

评论数 0

高效的插入排序---初次探讨

只贴代码,关于论述将在另一篇博客中给出: #include<iostream> #include<assert.h> using namespace std; //插排的优化 //比较 :找到待插入元素正...

2019-02-13 11:34:59

阅读数 12

评论数 0

高效的快速排序

 快速排序的优化问题 一、前言 正如标题“高效的快速排序”,这里需要声明的是,高效在此的含义不是形容词,而是指的是对基础快速排序进行优化后的快速排序,优化后的效率和STL模板库的qsort相差无几。 快速排序采用分治策略,通过一趟划分将待排序列分割成两部分,左部分均小于右部分。之后分别对这两...

2019-02-08 09:19:11

阅读数 51

评论数 0

求解正整数划分数问题

一、问题描述 二、思路描述 三、实现 //n = n1+n2+...+nn n1>=n2>=...>=nn int q(int n, int m) //n是待划分的数字,m是加数的上限 { if (n &a...

2019-02-04 15:57:56

阅读数 38

评论数 0

汉诺塔问题---再探讨

一、前言 递归算法在执行时需要多次调用自身。实现这种递归调用的关键是为算法建立递归调用工作栈。通常,在一个算法中调用另一算法时,系统需在运行被调用算法之前先完成三件事: 信息传递:将所有实参指针,返回地址等信息传递给被调用算法; 栈帧开辟:为被调用算法的局部变量分配存储区; 控制权下放:将...

2019-02-04 11:13:40

阅读数 18

评论数 0

排列问题---再探讨

排列树和子集树、字符串全排列算法学习  一、前言 排列问题的核心就是元素的顺序问题,n个元素的全排列将会有n!种可能。我们先在面临的问题是:如何使用C++来得到这些结果。 1.1 引例 假设我们不会编程,对元素ABC进行全排列是如何做的呢? 取出元素A,对BC进行全排列; 取出元素B,...

2019-02-03 11:18:45

阅读数 30

评论数 0

谈论递归函数中的数据传递问题

一、前言 递归函数是一类特殊的函数。要素是递归存在终点和每一次递归时都更逼近递归的终点。从这层意义上来看,递归函数也可以被理解为一种特殊的顺序执行。每层递归函数运行时都会开辟独立的栈帧用于存放变量,所以当前层次的变量在其他层次是不能访问的;但有些时候我们需要所有的递归函数共同完成某些事务,这就不...

2019-02-01 11:40:36

阅读数 32

评论数 0

结合二叉树的具体实例简要谈论递归问题层次分析的思想

递归问题、层次分析——递归问题、坚定信念!

2019-01-31 22:42:33

阅读数 14

评论数 0

二分查找___旋转数组的最小数字

一、题目描述  把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 ...

2019-01-26 10:09:27

阅读数 50

评论数 0

两个栈实现队列

算法描述: A栈用于入队列;B栈用于出队列。 入队操作:元素直接压入A栈中。 出队操作:如果B栈为空,A栈的元素依次退栈,进入B栈中。不管B栈空否,栈顶元素出栈为队首元素即可。 class Solution { public: void push(int node) { ...

2019-01-25 14:54:28

阅读数 20

评论数 0

为什么域名能访问网站而直接使用IP却不行

为什么域名能访问网站而直接使用IP却不行

2019-01-25 09:23:54

阅读数 79

评论数 0

由先序、中序重建二叉树

一、引例 1.1 先序-中序 图1-1 前序和中序 图1-2 二叉树形态 如图1-1 前序和中序示意图所示,已经标明了划分时下标详情。中序一个很重要的特性就是以根结点为中心,左部分是左子树,右部分是右子树。 如此一来,我们就能划分出左右子树了。先序一个很重要的特性就是根、左、右,当然左...

2019-01-24 23:47:56

阅读数 26

评论数 0

从尾到头打印链表

一、栈 class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int&...

2019-01-22 17:23:45

阅读数 18

评论数 2

替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。字符串保存在字符数组中,字符数组是足够大的。假设变量都位于栈中。 思路:就地替换,如果从前向后修改,会发生大量不必要的字符的重复移动;从后...

2019-01-22 15:37:57

阅读数 20

评论数 0

二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:解题的关键在于一次判断之后下一次的操作尽可能简单甚至是唯一的。如果从右上角开始查找 该对...

2019-01-22 15:08:50

阅读数 21

评论数 0

数据结构___非递减数组___创建二叉树

一、结点结构设计 typedef int ElemType; typedef struct BiTNode { ElemType data; //元素值 BiTNode*leftChild; //左半部分 BiTNode*rightChild; //右半部分 }BiTN...

2019-01-22 10:58:19

阅读数 59

评论数 0

遍历二叉树

一、先序 void nicePreOrderTraverse(BiTNode *root) //先序遍历非递归版本 IPS { if (NULL == root) return; stack<BiTNode*>st; while (NULL...

2019-01-22 00:05:26

阅读数 18

评论数 0

创建二叉树

递归问题:层序分析  一、基于两个序列 中序是必须的,然后搭配先序或后序的一种就可以了。 1.1 先序中序 1.2 后序中序  二、基于数组 基本关系是根结点下标为i,左孩子为2*i+1,右孩子为2*i+2。 2.1 创建完全二叉树 数组无序 2.2 创建BST树 sta...

2019-01-21 17:02:47

阅读数 38

评论数 0

二叉树结点个数、深度、查找某特定值的孩子、查找双亲

因为二叉树有两枝,所以在相当多的情况都可以把待求解的大问题分成两个规模较小的子问题。 一、求个数 二、求深度 三、查找特定值孩子 四、查找某个孩子的双亲 ...

2019-01-21 16:43:28

阅读数 31

评论数 0

一道泄露并遭禁用的谷歌面试题,背后玄机全解析

L前行骑士问题

2019-01-20 10:29:33

阅读数 53

评论数 0

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