![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法研究
文章平均质量分 53
dibabazhu
这个作者很懒,什么都没留下…
展开
-
C语言实现希尔排序
像选择排序、插入排序、冒泡排序都是刚开始接触排序时,接触比较多的排序算法,希尔排序往往在学习了以上几种排序算法后再进行学习,当然,这也是因为希尔排序的实现是基于插入排序来实现的。首先我们要确定一个间隔数gap,然后分别从要排序序列的第0~gap-1个数开始,每隔gap个数划分为一组。(如对于整型数组{3,6,8,2,7,5},当取gap值为2时,则划分为{3,2}、{6,7}、{8,5}三组数)随原创 2013-11-25 15:47:34 · 872 阅读 · 0 评论 -
二叉树递归与非递归遍历的方法
二叉树的遍历是对二叉树的一个基本的操作,最近看书也看到了相关的内容,就来总结一下遍历二叉树的方法。 一般的,我们有三种常用的遍历方法,分别是前序、中序和后序,这里的前中后可以理解为将访问根节点的操作放在访问左右节点操作的前面、中间、还是后面。当然,还有分层遍历,这个就更好理解啦,从根节点逐层访问。每一种顺序的遍历都有它特有的实际应用,首先应该知道如果实现这几种遍历。分为两种实现方法:递归实现和使原创 2013-11-14 16:32:22 · 789 阅读 · 0 评论 -
Unique Binary Search Trees(C语言)解题方法
遇到这个问题后,作为在算法道路上刚刚起步的初学者,我还是感觉很棘手,考虑过这个问题是否符合归纳法或者可以用一般递归的思想解决,但都无果,只好在网上搜索相关解题思路,代码是有的,不过大神们都不愿意详细讲解具体的思路,我在研究之后,有了自己的浅显的理解,也算是在别人的帮助下解决了这个问题吧。 首先很容易理解的是,在节点个数为1,2,甚至3的情况下,组合的方法分别为1、2、5种,那么随着节点数的增加,原创 2014-03-26 17:03:28 · 687 阅读 · 0 评论