数据结构
Urolzeen
这个作者很懒,什么都没留下…
展开
-
C++简单排序算法之选择排序
选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。 简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]原创 2016-09-08 22:52:50 · 12488 阅读 · 0 评论 -
C++简单排序算法之插入排序
直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。[1] 例如,已知待排序的一组纪录是: 60,71,49,11,24,3,66 假设在排序过程中,前3个纪录已按关键码值递增的次序重新排列,构成一个有序序列: 49,60,71 将待排序纪录中的第4个纪录(即11)插入上述原创 2016-09-08 23:50:12 · 3818 阅读 · 0 评论 -
C++简单排序算法之快速排序
快速排序是由东尼•霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个原创 2016-09-20 13:03:44 · 17511 阅读 · 0 评论 -
C++简单排序算法之冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后原创 2016-09-08 22:01:13 · 71634 阅读 · 0 评论 -
每日一道算法题1 ——把二元查找树转变成排序的双向链表
1.把二元查找树转变成排序的双向链表题目:输入一颗二元查找树,将该二元查找树转变成一个排序的双向链表 要求不能创建任何,只调整指针的指向 转换成双向链表 4=6=8=10=12=14=16答案:#include <iostream>using namespace std;//定义二叉查找树节点数据结构struct BSTreeNode { int m_nValue; /原创 2017-03-13 11:37:35 · 255 阅读 · 0 评论