![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 67
码迹天涯
这个作者很懒,什么都没留下…
展开
-
编程珠玑中一些算法
1.如何给10000000给不重复的数排序?2.给定一个zuiduo原创 2014-08-25 23:05:20 · 435 阅读 · 0 评论 -
根据前序和中序遍历构造二叉树
思想:递归实现#include#include#includeusing namespace std;struct Node{int value;Node *left;Node *right;};Node *ContructBinaryTree(int *pre,int *in,int length,Node *root){if(length =原创 2014-09-04 10:54:05 · 353 阅读 · 0 评论 -
买股票
问题描述:给你一个已知的一串数组,例如原创 2014-08-31 20:50:10 · 380 阅读 · 0 评论 -
关于树的一些算法
阿里笔试,第二题,在一棵树中找出两个节点,他们的最大值为原创 2014-08-30 09:49:57 · 392 阅读 · 0 评论 -
最长公共子串与最长连续子串算法
利用DP思想原创 2014-08-31 10:26:00 · 466 阅读 · 0 评论 -
二分查找思想寻找有序数组中查找最小值
思想:循环有序数组最大的特点是利用二分查找时,有一边总是有序的,利用这个特点,利用value存储历史最小值当左边有序,则用A[low]与value比较即可得出当前左边的最小值,然后跳转到右边看是否存在更小的;如果右边有序,则用A[mid]与value比较,得出右边的最小值,然后跳转到左边查看是否有更小的。算法复杂度为O(logn)代码如下:#include#include#in原创 2014-09-13 11:23:17 · 1638 阅读 · 0 评论 -
循环有序数组查找一个数
网上看了有些代码有些错误,这里重新更正了下思想:循环数组有一边是有序的,首先先判断哪一边有序(通过将当前mid点与最左边节点比较),然后查看是否在有序边上代码如下#include#includeusing namespace std;int Binary_Search(int *a,int low,int high,int value){ int mid=(low+high)原创 2014-09-12 18:33:59 · 1758 阅读 · 0 评论 -
洗牌算法
shuffle算法,我把他叫做洗牌算法,它的目标正好与各种的sort算法相反,即把一个有序(或者无序)的一系列元素打乱,以满足需求。举个两例子,大家都知道扑克牌,我们每次都需要在摸牌之前把牌洗掉,用来让每个人摸到每张牌的概率尽量相等,增加游戏的随机性和乐趣;还有音频播放器,有一些人不喜欢顺序播放,而喜欢使用随机播放(其实随机播放分为两种,random和shuffle,后文会介绍到),比如i转载 2014-08-28 20:09:20 · 522 阅读 · 0 评论 -
编程之美---子数组最大乘积
伪代码:首先jiang原创 2014-08-28 20:14:44 · 379 阅读 · 0 评论 -
编程之美总结
2.1求二进制中1的个数(1)原创 2014-08-27 23:10:32 · 430 阅读 · 0 评论