数据结构和算法
六尘
stay hungry,stay foolish
展开
-
排序算法之选择排序
排序算法中最优的时间复杂度级别为O(nlgn) 基础:O(n^2),易于实现,因此在一些简单情境下可能是首选。 在议一些特殊情况下,简单的排序算法更有效。 简单的排序算法思想衍生出复杂的排序算法。 可以作为子过程,用以改进更复杂的排序算法。 选择排序(Selection Sort) 选择排序的过程: 选择排序的算法实现 c++代码: #include #include原创 2017-03-14 23:05:51 · 456 阅读 · 0 评论 -
排序算法之插入排序及其改进
另一个O(n^2)级别的算法:插入排序Insertion Sort插入排序的过程: 插入排序的代码: c++:template<typename T> void InsertionSort(T arr[], int n){ /* for(int i = 1; i < n; i++){ for(int j = i; j > 0; j-原创 2017-03-16 18:59:06 · 1064 阅读 · 0 评论 -
排序算法之冒泡排序及其改进
冒泡排序(Bubble Sort)简单来说冒泡排序就是比较长度为N的数组中相邻两个元素,如果前一个大于后一个就进行交换。 每一趟排序中最大的数都沉到底(N - -的位置)。冒泡排序的过程: 第一趟: 。。。。。。冒泡排序的代码:template<typename T> void BubbleSort(T arr[], int n){ for(int i = 0; i <原创 2017-03-16 22:47:47 · 600 阅读 · 0 评论