随笔分类 -  数据结构与算法

摘要:动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的DP题目我们应该有百分之百的把握顺利解决才可以。 动态规划定义 动态规划实际上是一类题目的总称,并不是指某 阅读全文
posted @ 2018-03-28 16:28 huster-stl 阅读(26967) 评论(4) 推荐(2)
摘要:题目1: 题2 题3 题4: 题5: 题6: 题7: 题8: 题9: 题10: 阅读全文
posted @ 2018-03-12 10:57 huster-stl 阅读(689) 评论(0) 推荐(0)
摘要:栈和队列 栈和队列都是比较常用的数据结构。栈的应用非常的广泛,比如说,递归函数的实现就是借助于栈保存相关的数据。操作系统中每个线程也会使用栈来保存函数调用涉及到的一些参数和其他变量等。栈最大的一个特点就是先进后出(FILO—First-In/Last-Out)。 队列和栈不同的是,队列是一种先进先出 阅读全文
posted @ 2018-02-12 12:01 huster-stl 阅读(203) 评论(0) 推荐(0)
摘要:数组 数组是应用最广泛的数据存储结构。它被植入到大部分的编程语言中,由于数组十分易懂,所以在这里就不赘述,主要附上两端代码,一个是普通的数组,另一个是有序数组。有序数组是按关键字升序(或降序)排列的,这种排列使快速查找数据项成为可能,即可以使用二分查找。 普通数组的java代码: 有序数组的java 阅读全文
posted @ 2018-02-11 15:08 huster-stl 阅读(243) 评论(0) 推荐(0)
摘要:各类排序算法的时间复杂度 排序算法概述: 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选 阅读全文
posted @ 2017-11-28 10:30 huster-stl 阅读(439) 评论(0) 推荐(0)