文章分类 -  数据结构与算法

java实现组合-n个数取其中k个数的所有组合
摘要:原文链接:http://blog.csdn.net/fanfan199312/article/details/62422244 java实现组合,假设一组数{1,2,3,4,5,6,7,8} ,n = 8 k = 4; 从8个数中取第1个数 比如1,然后在剩下7个里面去第二个数,比如2,然后第三个在 阅读全文
posted @ 2017-11-04 13:24 blythe 阅读(631) 评论(0) 推荐(0)
删除链表中的重复结点-Java
摘要:原文链接:http://blog.csdn.net/u010347226/article/details/64501439 题目:给定排序的链表,删除重复元素,只保留重复元素第一次出现的结点; 如:给定:2–>3–>3–>5–>7–>8–>8–>8–>9–>9–>10 返回:2–>3–>5–>7–> 阅读全文
posted @ 2017-10-10 11:27 blythe 阅读(182) 评论(0) 推荐(0)
“最长上升子序列,最大连续子序列和,最长公共子串”的Java实现
摘要:原文链接:http://blog.csdn.net/xiaoliucool1314/article/details/50963293 一、问题描述 这是三道典型的dp问题。 最长上升子序列:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i<j,必有a[i]<a[j],这样最长的子 阅读全文
posted @ 2017-09-17 16:11 blythe 阅读(698) 评论(0) 推荐(0)
BTree和B+Tree详解
摘要:原文链接:http://blog.csdn.net/endlu/article/details/51720299 B 树是为了磁盘或其它存储设备而设计的一种多叉(下面你会看到,相对于二叉,B树每个内结点有多个分支,即多叉)平衡查找树。 B 树又叫平衡多路查找树。一棵m阶的B 树 (m叉树)的特性如下 阅读全文
posted @ 2017-09-11 15:43 blythe 阅读(168) 评论(0) 推荐(0)
红黑树
摘要:原文链接:https://my.oschina.net/hosee/blog/618828 一、红黑树的介绍 先来看下算法导论对R-B Tree的介绍:红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制 阅读全文
posted @ 2017-09-08 09:52 blythe 阅读(141) 评论(0) 推荐(0)
Java实现几种常见排序方法
摘要:原文链接:http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html 日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 冒泡排序是一种简单的 阅读全文
posted @ 2017-09-06 20:47 blythe 阅读(117) 评论(0) 推荐(0)
LRU缓存实现(Java)
摘要:原文地址:http://www.cnblogs.com/lzrabbit/p/3734850.html LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如 阅读全文
posted @ 2017-09-06 14:36 blythe 阅读(505) 评论(0) 推荐(0)
一篇文章搞定面试中的二叉树题目(java实现)
摘要:原文地址:http://www.jianshu.com/p/0190985635eb 最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。先上二叉树的数据结构: class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 TreeNode 阅读全文
posted @ 2017-09-06 14:32 blythe 阅读(119) 评论(0) 推荐(0)
Java 创建二叉树并遍历
摘要:原文地址:http://blog.csdn.net/yhhazr/article/details/7944089 阅读全文
posted @ 2017-09-06 12:37 blythe 阅读(158) 评论(0) 推荐(0)
二分查找算法
摘要:原文地址:http://blog.csdn.net/jiandanfeng2/article/details/6525193 二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 阅读全文
posted @ 2017-09-06 10:12 blythe 阅读(136) 评论(0) 推荐(0)
堆与堆排序
摘要:原文链接:http://blog.csdn.net/morewindows/article/details/6709644/ 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近 阅读全文
posted @ 2017-08-30 19:40 blythe 阅读(185) 评论(0) 推荐(0)
动态规划算及例题
摘要:转载自:http://blog.csdn.net/p10010/article/details/50196211 一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 二、基本思 阅读全文
posted @ 2017-08-23 08:28 blythe 阅读(132) 评论(0) 推荐(0)