![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构、STL与算法
MrSimp1e
这个作者很懒,什么都没留下…
展开
-
STL中map用法详解
由于STL是一个统一的整体,map的很多用法都和STL中其它的东 西结合在一起;map中由于它内部有序,由红黑树保证,因此很多函数执行的时间复杂度都是log2N的,如果用map函数可以实现的功能,而STL Algorithm也可以完成该功能,建议用map自带函数,效率高一些……Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能转载 2012-04-06 12:46:16 · 2024 阅读 · 0 评论 -
斐波那契数列算法分析
斐波那契数列算法分析背景:假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?在一月底,最初的一对兔子交配,但是还只有1对兔子;在二月底,雌兔产下一对兔子,共有2对兔子;在三月底,最老的雌兔产下第二对兔子转载 2013-04-18 21:13:52 · 1395 阅读 · 0 评论 -
给定一个集合,输出它的所有子集(JAVA实现)
例如给定一个子集{1,2,3},则它的所有子集为 : {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3},, {1,2,3}。代码如下: /** * @Title: SetUtil.java * @Package * @Description: 给定一个集合,输出所有的子集 * @author Mr.Simple原创 2013-05-15 18:40:13 · 7558 阅读 · 1 评论 -
最大的子序列之和问题
最大的子序列之和问题最大子序列和问题问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。算法一://穷举法,复杂度O(n^3) long转载 2013-05-22 23:18:16 · 1600 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径原创 2013-06-24 21:52:49 · 1599 阅读 · 0 评论 -
分查找实现(Jon Bentley:90%程序员无法正确实现)
第二十五章:二分查找实现(Jon Bentley:90%程序员无法正确实现)作者:July出处:结构之法算法之道引言 Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码。也许很多人都早已听说过这句话,但我还是想引用《编程珠玑》上的如下几段文字: “二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么转载 2013-06-29 18:39:11 · 2120 阅读 · 0 评论 -
统计一个整数的二进制中1的个数的三种解法
#include /* * 统计一个整数的二进制中1的个数 */ const int MAX_SIZE = 16; // 解法1 int countOne(int num){ int count = 0; while ( num ) { // 当最后一位为1时,则加1 if( num & 1 ){ ++count; } num >>= 1; }原创 2013-07-03 16:58:28 · 2004 阅读 · 0 评论 -
代码面试最常用的10大算法
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。1.String/Array/Matrix在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自动完成转载 2014-04-11 17:13:14 · 2265 阅读 · 0 评论 -
快速排序算法解析
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快原创 2013-05-02 18:08:00 · 1629 阅读 · 0 评论