![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 94
春风十米
不积跬步无以至千里,不积小流无以成江海。加油!!!
展开
-
时间复杂度
转自:http://blog.csdn.net/firefly_2002/article/details/8008987一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^转载 2017-05-16 17:18:00 · 448 阅读 · 1 评论 -
计算1至n中数字X出现的次数
参考文献:http://www.cnblogs.com/cyjb/p/digitOccurrenceInRegion.html一、1的数目编程之美上给出的规律:1. 如果第i位(自右至左,从1开始标号)上的数字为0,则第i位可能出现1的次数由更高位决定(若没有高位,视高位为0),等于更高位数字X当前位数的权重10i-1。2. 如果第i位上的数字为1,则第i位上可能出转载 2017-10-04 19:27:47 · 1433 阅读 · 0 评论 -
动态规划
转自:http://blog.csdn.net/a925907195/article/details/41313453动态规划一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将转载 2017-08-01 15:00:03 · 193 阅读 · 0 评论 -
卡塔兰数
转自:http://blog.csdn.net/wuzhekai1985问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1) 该递推关系的解为:h(n)=C(2n,n转载 2017-08-14 08:40:07 · 404 阅读 · 0 评论 -
最优二叉查找树
转自:http://www.cnblogs.com/liuzhen1995/archive/2017/02/26/6452519.html1 问题描述在了解最优二叉查找树之前,我们必须先了解何为二叉查找树?引用自百度百科一段讲解:二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序转载 2017-08-14 08:39:48 · 1789 阅读 · 0 评论 -
随机数的相关面试题
转自:http://blog.csdn.net/athenaer/article/details/8004419当前面试中各大名企经常出现各种各样的概率类面试题。究其原因,我觉得是概率型面试题可以综合考查面试者的思维能力、应变能力、数学能力。在这里对各种类型的概率型题目进行了收集和总结,希望在自我总结的同时对大家有所帮助。1、给你一个数组,设计一个既高效又公平的方法随机打乱这个数组(此转载 2017-08-20 21:43:38 · 595 阅读 · 0 评论 -
JAVA随机数之多种方法从给定范围内随机N个不重复数
转自:http://wsjiang.iteye.com/blog/1775341一、JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有; Java代码 int random转载 2017-08-20 21:41:38 · 556 阅读 · 0 评论 -
排序的基本原理以及Java实现
import java.util.Arrays;/** * Created by wst on 2017/7/13. */public class Sort { public static void main(String[] args) { int[] arr={1,4,3,4,5,34,9,8,2,1,0,10}; Sort sort=new原创 2017-07-23 15:51:38 · 330 阅读 · 0 评论 -
贪心算法
贪心算法一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前转载 2017-08-01 14:57:00 · 302 阅读 · 0 评论 -
Floyd-Warshall算法过程中矩阵计算方法—十字交叉法
转自:http://blog.csdn.net/qq_22194315/article/details/54885879前几天在看Floyd算法的时候,虽然感觉程序很简单,但是让你动手写那些过程矩阵的时候就感觉不怎么简单了,就上网找找看有木有简便的计算方法,搜索之后没有发现有现成的例子,只搜到了两句“弄两条线,从左上角挪到右下角”,“十字交叉法,从左上角到右下角”,除此之外就再也木有找到有用的转载 2017-07-31 13:54:18 · 2506 阅读 · 0 评论 -
面试常考数据结构与算法
面试常考数据结构与算法转自:http://www.cnblogs.com/houjun/p/4896268.html数据结构部分:1、数组和链表的区别。(很简单,但是很常考,记得要回答全面)C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。而在实际应用中,用户使用数组之前无法确定数组的大小,只能够将数组定义成足够大转载 2017-07-20 11:28:49 · 481 阅读 · 0 评论 -
《Thinking In Algorithm》09.彻底理解递归
转自:http://blog.csdn.net/speedme/article/details/21654357递归真的非常非常重要!!!我们直接从例子开始吧!一:简单实例1.阶乘的实现写个函数实现 N! = N × (N-1) × (N-2) × ... × 2 × 1[java] view plain copy p转载 2017-07-16 11:48:16 · 305 阅读 · 0 评论 -
数据结构中有关链表的题目
import java.util.HashMap;import java.util.Stack;/** * Created by wst on 2017/6/30. */public class List_Algorithm { public static void main(String[] args) { Node n1 = new Node(1);原创 2017-07-04 09:45:03 · 445 阅读 · 0 评论 -
JAVA递归、非递归遍历二叉树
转载:http://blog.csdn.net/haijiaoxiaowu/article/details/4851059二叉树遍历首先弄清遍历流程。中序遍历:第一次经过从它找左,第二次经过找右,第三次经过回来。第二次经过访问它。[java] view plain copyimport java.util.Stack; im转载 2017-06-29 13:21:04 · 227 阅读 · 0 评论 -
浅谈算法和数据结构: 平衡查找树之红黑树
转:https://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3树的数据结构,...转载 2019-05-02 17:53:20 · 177 阅读 · 0 评论