C++
文章平均质量分 68
Pro-Luo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
微软等面试100题筛选答案-3-求子数组最大和
http://blog.youkuaiyun.com/byluo/article/details/15498813//输入一个整形数组,数组里有正数也有负数。//数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。//求所有子数组的和的最大值。要求时间复杂度为O(n)。//最大子段和#include "stdafx.h"#includeusing namespace std;原创 2013-11-18 09:37:30 · 998 阅读 · 0 评论 -
二叉查找数C++ 数组模拟二叉树及面向对象实现
数组实现#include "stdafx.h"#include using namespace std;#define iArrSize sizeof(iArr)/sizeof(iArr[0])void inertValue(int *iBinTree, int iNode, int iValue){ if (iBinTree[iNode] == 0){//默认设定不对0插入原创 2013-11-14 11:43:46 · 850 阅读 · 0 评论 -
动态规划问题-DP 最大子段和O(n)解决方法
//已知 有9,-8,1,-10,88,4,-5,7,9,-100,求最大子段和#include "stdafx.h"#includeusing namespace std;#define iMAXSIZE (sizeof(iSrcArr)/sizeof(iSrcArr[0]))+100//最大子段和//void getBiggestSum(int iSrcArr[],原创 2013-11-12 10:38:08 · 1208 阅读 · 0 评论 -
简易递归快排 QuicklySort C++
快排和归并的递归是相类似的,主要是都用到了分而治之的方法,快排需要选取中间点O(nlog n) 期望时间,O(n^2) 最坏情况; 对于大的、乱数列表一般相信是最快的已知排序//我一直认为最坏情况是O(nlogn)#include "stdafx.h"#include using namespace std;#define i_max_size sizeof(i_src)/s原创 2013-11-10 11:34:24 · 1039 阅读 · 0 评论 -
归并排序 C++/Java 递归实现代码 -犯了菜鸟老毛病
建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。原创 2013-11-10 10:08:33 · 1066 阅读 · 0 评论 -
插入排序 Java/C++
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元原创 2013-11-09 23:04:01 · 835 阅读 · 0 评论 -
数据结构重新复习-线性表
1 数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。2 以栈、队列、字符串等特殊线性表的形式来使用的3 是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。一般地,一个线性表可以表示成一原创 2013-11-05 22:39:16 · 739 阅读 · 0 评论 -
算法思路重新实现-堆排序 中的 C++ & Java
堆排序-树形选择排序的改进,使用的辅助空间较少(1个元素用于空间交换)分大堆和小堆,每个节点的值都大于(小于)左右子树,即为最大(小)堆。即保证堆顶是最大(小)值,Java Code loading in some day原创 2013-11-05 01:29:16 · 594 阅读 · 0 评论 -
微软等面试100题筛选答案-2-设计包含min函数的栈
//定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。//要求函数min、push以及pop的时间复杂度都是O(1)。#include "stdafx.h"#include using namespace std;templateclass StackSuppliedMin{public: vector datas; vector minStack; void原创 2013-11-18 09:29:24 · 949 阅读 · 0 评论 -
微软等面试100题筛选答案-1-二元查找树转换成一个排序的双向链表
//输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。//要求不能创建任何新的结点,只调整指针的指向。#include #include "stdafx.h"#include using namespace std;struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft; /原创 2013-11-18 09:09:06 · 890 阅读 · 0 评论 -
微软等面试100题筛选答案-5-求K小
较为详细的分析http://blog.youkuaiyun.com/v_JULY_v/article/details/6370650//题目:输入n个整数,输出其中最小的k个。//例如输入1,2,3,4,5,6,7和8这8个数字,//则最小的4个数字为1,2,3和4。//选择K小/K大//解法,建立K大小的已经排序的数组/堆/二叉树,跟着维持这个解空间的大小,插入n个数#include "std原创 2013-11-18 10:13:55 · 840 阅读 · 0 评论 -
堆排序-c++实现,节点变动则递归子树调整状态
伪代码在算法导论,其他不多说原创 2013-11-11 09:56:38 · 983 阅读 · 0 评论
分享