• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cclive1601

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

2012年8月28日

二叉查找树

摘要: #include<iostream>using namespace std;//首先进行二叉树的一些操作的代码,补上之前欠下的东西class bintree;class treenode{public: int key; treenode *p; treenode *left; treenode *right; class treenode() { key=0; p=NULL; left=NULL; right=NULL; } class treenode(int element,treenode* lchild,treenode *rchild,treenode *parent) 阅读全文

posted @ 2012-08-28 16:19 cclive1601 阅读(112) 评论(0) 推荐(0)

2012年7月6日

算法导论 之计数排序

摘要: 之前的排序都是可以规划为一大类,叫做比较排序,通过数值与数值之间的比较来进行。他们的时间复杂度的下限是o(nlgn),具体的推到可以见算法导论的P98页。下面开始的就不是通过数值之间的比较得到的排序了第一:计数排序。原理是:比如说一个数组中的数值的话,肯定有比这个数值小的数字,那么我们通过记住这么个比该值小的数字的个数,最后一这个个数作为参考,可以直接把数字放到输出数组中,当然,对于一个数组中的某个或者是某几个元素重复的情况也是要考虑进去的,详细情况见下面的代码,当然这代码只是在有限的范围内,有限的数字的排序。PS:昨天看到effective cpp上面 把cpp分为四个有限的语言的联邦: c 阅读全文

posted @ 2012-07-06 14:28 cclive1601 阅读(129) 评论(0) 推荐(0)

2012年7月5日

算法导论之快速排序随机版本

摘要: 对于前面的快速排序而言,其数组的输入排列是等可能的,那么这里假设是随机的呢?一般一种折中的方法是采用随机抽样的方法,就是使主元是一个随机抽取于数组中的元素,和快速排序的一般版本么得啥大的变换,就是一个主元的挑选,改改小的地方就可以得到了。下面是代码://快速排序之随机版本,区别就是主元的是随机产生的//由于一开始的时候是输入的数组进行排序的,这里的数组是假设是输入数字是等可能的。这里假设对于其中的主元是随机产生于数组中。(随机取样)#include<iostream>#include<algorithm>#include<stdlib.h>#include& 阅读全文

posted @ 2012-07-05 10:48 cclive1601 阅读(247) 评论(0) 推荐(0)

2012年7月2日

算法导论学习之快速排序

摘要: 快速排序是各种排序之中最常使用的算法之一,它的平均运行的时间复杂度为o(nlgn).好的情况下一次就可以搞定差的情况下o(n^2),但是还是被人们经常使用。算法导论上的思路和严蔚敏的数据结构上面的思路有点的出入,这里写的是算法导论上面的算法的代码,具体如下,思路什么的自己可以看看例子就可以搞定了。下面是代码://用C写的快速排序,使用了CPP的流和算法。下次使用CPP写#include<iostream>#include<algorithm>using namespace std;#define N 100int partition(int *a,int start,i 阅读全文

posted @ 2012-07-02 10:25 cclive1601 阅读(124) 评论(0) 推荐(0)

 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3