![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
FishBear_move_on
github 地址 https://github.com/Jayhello
展开
-
轻松搞定面试中的链表题目
转载于 http://blog.csdn.net/luckyxiaoqiang/article/details/7393134#topic2 版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7393134链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言...转载 2014-11-12 21:06:07 · 479 阅读 · 0 评论 -
二叉树的非递归遍历
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说转载 2015-01-28 11:31:16 · 408 阅读 · 0 评论 -
剑指offer 33 把数组排成最小的数
转载请注明出处:http://blog.csdn.net/ns_code/article/details/28128551题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。输入:输入可能包含多个测试样例。对于转载 2014-12-24 22:14:45 · 615 阅读 · 0 评论 -
[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
http://blog.csdn.net/v_july_v/article/details/7041827从头到尾彻底理解KMP作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言 本KMP原文最初写于2年多前的2011年12月,因转载 2014-12-10 21:46:52 · 769 阅读 · 0 评论 -
strcpy函数的实现
http://blog.csdn.net/gpengtao/article/details/7464061大家一般认为名不见经传strcpy函数实现不是很难,流行的strcpy函数写法是:[cpp] view plaincopychar *my_strcpy(char *dst,const char *src) {转载 2015-02-02 14:53:27 · 430 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树转载 2014-12-11 19:46:48 · 492 阅读 · 0 评论 -
红黑树深入浅出
教你透彻了解红黑树 作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, Fe转载 2014-12-28 09:34:19 · 474 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题
教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的转载 2015-06-28 17:05:33 · 484 阅读 · 0 评论 -
格雷码的实现
http://blog.csdn.net/beiyeqingteng/article/details/7044471问题:产生n位元的所有格雷码。格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000 001 011 010 110 111转载 2015-09-07 09:48:28 · 409 阅读 · 0 评论 -
腾讯16算法 杂谈
http://blog.csdn.net/u010660138/article/details/48266297题目:2. 有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案。分析:用a1--a9表示九个数,其中a3=9,根据图中的信息,可以列出如下六个方程,a1+a2-9=4 (1)a4-a5*a6转载 2015-09-07 22:29:31 · 708 阅读 · 0 评论 -
对vector等STL标准容器进行排序操作
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别。1 STL提供的Sort 算法C++之转载 2015-09-13 21:51:53 · 411 阅读 · 0 评论 -
买卖股票最多K次
题目描述:给定一个大小为n的数组,数组的元素a[i]代表第i天的股票价格。设计一个算法,计算在最多允许买卖k次(一买一卖记为一次)的条件下的最大收益。需要注意的是,你不能同时拥有两份股票。也就是说在下次买入前,你必须把手头上原有的股票先卖掉。输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为两个整数n和k(1输入的第二行包括n个整数转载 2015-09-13 22:29:53 · 1623 阅读 · 0 评论 -
字符串的全排列和组合算法
http://blog.csdn.net/hackbuteer1/article/details/7462447全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看转载 2014-12-21 12:32:54 · 546 阅读 · 0 评论 -
2014网易实习生招聘面试题
http://blog.csdn.net/silangquan/article/details/18969875不拼搏,枉少年网易游戏2014年实习生招聘。过程:无电面,笔试半小时,两道算法题,面试一小时。结果:7进2,扑街。这是我最接近网易游戏的一次。下面大部分的内容是没有答上来的。1.算法题:Write a method to rep转载 2014-12-18 15:52:57 · 545 阅读 · 0 评论 -
轻松搞定面试中的二叉树题目
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树转载 2014-11-13 21:19:03 · 480 阅读 · 0 评论 -
十种排序算法总结(冒泡、插入、选择、希尔、归并、堆、快速,计数,桶,基数)
转载于http://blog.csdn.net/jnu_simba/article/details/9705111转载 2014-11-20 08:39:27 · 2387 阅读 · 0 评论 -
二分查找
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/8937978转载 2014-11-20 08:44:26 · 762 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
原文 http://blog.csdn.net/morewindows/article/details/6684558 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身转载 2014-12-16 15:33:28 · 364 阅读 · 0 评论 -
一、A*搜索算法
经典算法研究系列:一、A*搜索算法 作者:July、二零一一年一月更多请参阅:十三个经典算法研究与总结、目录+索引。----------------------------------博主说明:1、本经典算法研究系列,此系列文章写的不够好之处,还望见谅。2、本经典算法研究系列,系我参考资料,一转载 2014-12-17 13:48:50 · 537 阅读 · 0 评论 -
最大的子序列和问题
http://blog.csdn.net/zhutulang/article/details/7505785参考:数据结构与算法分析——Java语言描述(美) Mark Allen Weiss给定整数 A1,A2,……AN (可能有负数),求这个整数序列的最大子序列和。(原书假定如果所有整数为负数,则最大的子序列的和为0。我们这里去掉了这个假定,算法1和算法2只需转载 2014-12-17 22:47:35 · 402 阅读 · 0 评论 -
一之续、A*,Dijkstra,BFS算法性能比较及A*算法的应用
一之续、A*,Dijkstra,双向BFS算法性能比较及A*算法的应用作者:July 二零一一年三月十日。出处:http://blog.csdn.net/v_JULY_v-------------------------------------------------- 引言: 最短路径的各路算法A*算法、Dijkstra 算法、BFS算法,都已在本B转载 2014-12-17 13:50:52 · 619 阅读 · 0 评论 -
算法导论-分治、最大子序列问题
一.基本概念分治法的基本步骤:1.分解问题(Divide):把原问题分解为若干个与原问题性质相类似的子问题;2.求解字问题(Conquer):不断分解子问题并求解;3.合并子问题的解(Combine).分治法的运用条件:1.原问题可以分解为若干与原问题的解;2.子问题可以分解并可以求解;3.子问题的解可以合并为原问题的解;4.分解后的子问题应互相独立,即转载 2014-12-18 08:20:57 · 515 阅读 · 0 评论 -
贪心算法
http://blog.csdn.net/xywlpo/article/details/6439048贪心算法的设计思想 贪心算法在解决问题的策略上目光短浅,只根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。换言之,贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。贪心算法对于大部分的优化问题都能转载 2014-12-17 15:22:35 · 730 阅读 · 0 评论 -
桶排序
http://blog.csdn.net/houapple/article/details/6480100http://blog.csdn.net/silangquan/article/details/8121727 桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以转载 2014-12-17 14:41:14 · 525 阅读 · 0 评论 -
算法导论-分治、最大子序列问题
http://blog.csdn.net/silangquan/article/details/8062229一.基本概念分治法的基本步骤:1.分解问题(Divide):把原问题分解为若干个与原问题性质相类似的子问题;2.求解字问题(Conquer):不断分解子问题并求解;3.合并子问题的解(Combine).分治法的运用条件:1.原问题可以分解为若干与转载 2014-12-17 22:38:08 · 471 阅读 · 0 评论 -
动态规划算法学习
http://blog.csdn.net/nevasun/article/details/6977511 笔试面试中经常会出现一些考察动态规划方面的题目,以前没有接触过,现在初学做个整理。1. 什么是动态规划? 和分治法一样,动态规划(dynamicprogramming)是通过组合子问题而解决整个问题的解。 分治转载 2014-12-18 17:13:46 · 439 阅读 · 0 评论 -
动态规划解最长公共子序列问题
http://blog.csdn.net/yysdsyl/article/details/4226630动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解转载 2014-12-18 19:25:31 · 461 阅读 · 0 评论 -
美团推荐算法实践
前言推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载。如果不采用一定的手段,用户很难从如此多的信息流中找到对自己有价值的信息。解决信息过载有几种手段:一种是搜索,当用户有了明确的信息需求意图后,将意图转换为几个简短转载 2017-02-12 10:18:43 · 565 阅读 · 0 评论