数据结构与算法
文章平均质量分 73
Main_m
互联网小兵一枚
展开
-
斐波拉契搜索(费氏搜寻法)
刚才搜这个算法。百度出的结果好少。。貌似很少人用?搜索出来的都是一本书上的内容。而且还用的原创标记。。。而那本书上讲的感觉也不大清楚。所以我就来简单介绍一下这个算法的思路吧。 简单来说。这个搜索和二分搜索是一致的。如果要找的数比当前点大就向左移,小的话就向右移。但是和二分查找来看,它的指针改变长度是斐波拉契数列的长度。 现在来做个说明。以下是一组数a。以下标为1开始1 3原创 2013-12-16 11:39:27 · 2270 阅读 · 0 评论 -
荷兰国旗问题
刚才在严蔚敏的数据结构习题上看到的这个题。看了几篇博客。貌似都没有结合数据结构的意思来解释。让我有种冲动写篇文章。。就把这当作我的第一篇博文吧。 问题描述:荷兰国旗问题 ,设有一个仅有红白蓝三种颜色的条块组成的条块序列。请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗的图案。 解析:算法一:首先复杂度为O(n)。这很容易让人想原创 2013-06-30 16:37:30 · 3013 阅读 · 0 评论 -
关于中缀转后缀表达式的树型算法
将近两个月没刷题,编程真是一点手感都没了。昨天晚上找了这个题,虽然原来用栈做过计算器,但是这次还是花了大概3个小时来做。编程还是得多练啊。此题是NYOJ第257题。一开始拿到题目。我首先就是想按照栈来做。但是自己试着写了一下,但是貌似不能用计算器的那种算完式子然后入栈的方法写。本来准备网上搜解法的,但是一想到大二那种学习方法。还是犟着自己思考,然后就想到了严蔚敏书上的树型表达式,后缀表达式原创 2013-09-24 20:10:35 · 1221 阅读 · 1 评论 -
NYOJ--743
拿到这个题找规律找了好久...画了半天才发现规律...结果网上一搜..就是C(M,N)的求取啊..坑啊.. 先说简单的思路..循环的递增其实就是从一个长度为n的递增序列,然后每个数都不一样,从中找出m个数..所以直接就是C(M,N)... 而且用C(M,N)公式计算的话还是复杂了.可以直接用C(M,N)=C(M,N-1)+C(M-1,N-1)来算出一张表来..每次输入直接在表中查找即可..原创 2013-10-29 22:46:49 · 665 阅读 · 0 评论 -
快速排序的非递归算法(使用队列)
前些天学习了程序栈空间的大小是会有上限的。看来递归的算法永远无法应用到大规模的数据上,毕竟栈空间有限。这几天写了点算法题目,刚好涉及到如何广度优先搜索。想起自己学数据结构的时候就想快排能否以非递归式方式实现。于是自己就写了个非递归的快排算法,以供学习。 我搜了一下网上的快排非递归算法,几乎都是使用栈来模拟的。但其实完全不必使用栈,队列一样可以。一开始觉得栈可能消耗最大空间比队列少一点,但其实原创 2014-01-13 20:07:24 · 5092 阅读 · 1 评论