范文无忧网计划总结工作总结

C语言排序有哪些方法详细点

01月06日 编辑 fanwen51.com

[如何设计幼儿语言教育活动目标]幼儿语言教育目标是幼儿语言教育的纲领,而幼儿语言教育活动目标是为年龄阶段目标、语言教育目标服务的,语言教育目标正是通过每一个具体活动落实到幼儿身上。因此,正确设计语言...+阅读

我博客里收藏的,粘给你 排序有哪几种好方法( 1 )2009-12-03 19:26 排序小结 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将 给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。

我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后面你将看到他们的共同点是算法复杂度为O(N*N)(因为没有 使用word,所以无法打出上标和下标)。 第二部分是高级排序算法,复杂度为O(Log2(N))。这里我们只介绍一种算法。另外还有几种 算法因为涉及树与堆的概念,所以这里不于讨论。 第三部分类似动脑筋。

这里的两种算法并不是最好的(甚至有最慢的),但是算法本身比较 奇特,值得参考(编程的角度)。同时也可以让我们从另外的角度来认识这个问题。 第四部分是我送给大家的一个餐后的甜点——一个基于模板的通用快速排序。由于是模板函数 可以对任何数据类型排序(抱歉,里面使用了一些论坛专家的呢称)。 现在,让我们开始吧:一、简单排序算法 由于程序比较简单,所以没有加什么注释。

所有的程序都给出了完整的运行代码,并在我的VC环境 下运行通过。因为没有涉及MFC和WINDOWS的内容,所以在BORLAND C++的平台上应该也不会有什么 问题的。在代码的后面给出了运行过程示意,希望对理解有帮助。 1.冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: #includevoid BubbleSort(int* pData,int Count) { int iTemp; for(int i=1;i=i;j--) { if(pData[j]8,7,10,9->7,8,10,9(交换2次) 第二轮:7,8,10,9->7,8,10,9->7,8,10,9(交换0次) 第一轮:7,8,10,9->7,8,9,10(交换1次) 循环次数:6次 交换次数:3次 上面我们给出了程序段,现在我们分析它:这里,影响我们算法性能的主要部分是循环和交换, 显然,次数越多,性能就越差。

从上面的程序我们可以看出循环的次数是固定的,为1+2+...+n-1。 写成公式就是1/2*(n-1)*n。 现在注意,我们给出O方法的定义: 若存在一常量K和起点n0,使当n>=n0时,有f(n)7,8,9,10(交换1次) 循环次数:6次 交换次数:3次 从运行的表格来看,交换几乎和冒泡一样糟。事实确实如此。循环次数和冒泡一样 也是1/2*(n-1)*n,所以算法的复杂度仍然是O(n*n)。

由于我们无法给出所有的情况,所以 只能直接告诉大家他们在交换上面也是一样的糟糕(在某些情况下稍好,在某些情况下稍差)。 3.选择法: 现在我们终于可以看到一点希望:选择法,这种方法提高了一点性能(某些情况下) 这种方法类似我们人为的排序习惯:从数据中选择最小的同第一个值交换,在从省下的部分中 选择最小的与第二个交换,这样往复下去。 #include

延伸阅读:

中班幼儿语言发展特点中班幼儿的语言发展的特点如下: 1、能清晰地谈话,词汇开始丰富,喜欢与家人及同伴交流; 2、能够独立地讲故事或叙述日常生活中的各种事物,但有时说话断断续续,因为中班幼儿还不能记...

幼儿中班语言谁和谁是好朋友的教案一、活动目标: 1、引导幼儿通过观察理解图片,创编儿歌内容,感受儿歌的语言美,体会学习儿歌的乐趣。 2、学习有感情的朗诵儿歌,会用动作表现儿歌内容。 3、养成良好的倾听习惯,体会...

中班语言领域教案设计意图: 一日三餐,天天如此。培养良好的进餐习惯,是幼儿园苗班生活教育中,最基本的内容之一。因为,现在的孩子在家大多数往往是饭来张口,家长包办代替。那么,进入幼儿园以后,集体...

中班语言活动认出大灰狼的备课活动目标: 1.学习掌握“叽叽”“嘎嘎”“喵喵”“汪汪”“跳跳”的发音。 2.发展幼儿的语言能力和模仿能力。 3.培养幼儿对游戏的兴趣。 活动准备: 1.贴绒教具:有小鸡、小鸭、...

关于校园文明语言的演讲稿第一章 指导思想 一、根据《中华人民共和国国家通用语言文字法》,为贯彻落实教育部、国家语言文字工作委员会《关于进一步加强学校普通话和用字规范化工作的通知》和市教委、...

谁知道关于教师个人的语言文字工作的计划和总结主要写一下工作内容,取得的成绩,以及不足,最后提出合理化的建议或者新的努力方向。。。。。。 转载:总结,就是把一个时间段的情况进行一次全面系统的总检查、总评价、总分析、总...

幼儿园语言教研组总结包括哪些方面依照学期初制定的教研活动计划,我园圆满完成了学期任务,实现了预期目标。与以往相比搞出了特色,获得了实效,现总结如下: 一、教研活动日趋规范 1、规范体现在计划的制定上。根据...

如何制定婴幼儿个别化语言培养计划幼儿的语言学习主要是在与他人交往和在运用语言表达的过程中完成的,幼儿期是语言发展的一个非常重要和关键的时期.因此,提高幼儿的语言表达能力是幼儿园教育工作者的一项艰巨...

请问一下有谁能总结数据结构中排序章内介绍各种算法的时间复杂1.插入排序:每次将一个待排的记录插入到前面的已经排好的队列中的适当位置。 ①.直接插入排序 直接排序法在最好情况下(待排序列已按关键码有序),每趟排序只需作1次比较而不需要...

推荐阅读
图文推荐
栏目列表