认知算法(十一)

简介: 认知算法(十一),一起来学习吧。

嗨,欢迎来到异星球,我是小怪同志。这篇文章主要讲认识算法,请一起学习吧。

一、插入排序

插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。

  1. 算法步骤

将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。

从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)

二、代码实现

1.c语言
void insertion_sort(int arr[], int len){

    int i,j,key;
    for (i=1;i<len;i++){
            key = arr[i];
            j=i-1;
            while((j>=0) && (arr[j]>key)) {
                    arr[j+1] = arr[j];
                    j--;
            }
            arr[j+1] = key;
    }

}
2.c++
void insertion_sort(int arr[],int len){

    for(int i=1;i<len;i++){
            int key=arr[i];
            int j=i-1;
            while((j>=0) && (key<arr[j])){
                    arr[j+1]=arr[j];
                    j--;
            }
            arr[j+1]=key;
    }

}

相关文章
|
机器学习/深度学习 人工智能 运维
异常检测:探索数据深层次背后的奥秘《下篇》
异常检测:探索数据深层次背后的奥秘《下篇》
异常检测:探索数据深层次背后的奥秘《下篇》
|
索引
复杂性思维中文第二版 十一、进化
十一、进化 原文:Chapter 11 Evolution 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 生物学乃至整个科学最重要的思想,是通过自然选择的进化论,它声称由于自然选择而创造出新的物种并改变现有的物种。
1129 0
|
机器学习/深度学习 算法 搜索推荐
对推荐算法演化的几点体会
最近一段时间,由于工作需要一直在研究推荐算法。 通过对互联网信息的搜刮和对现有开源推荐算法的实践,总结出一些心得 遂吐个槽,发表出来与广大网友探讨,希望能得到应用推荐的正确姿势 先说问题吧: 目前推荐算法存在的问题 1.
12355 0
|
机器学习/深度学习 运维 资源调度
异常检测:探索数据深层次背后的奥秘《上篇》
异常检测:探索数据深层次背后的奥秘《上篇》
异常检测:探索数据深层次背后的奥秘《上篇》
|
机器学习/深度学习 人工智能 运维
异常检测:探索数据深层次背后的奥秘《中篇》
异常检测:探索数据深层次背后的奥秘《中篇》
异常检测:探索数据深层次背后的奥秘《中篇》
|
人工智能 算法 机器人
新数学框架“终极算法”理论提出,或让机器诞生意识
台湾中正大学的退休教授Daniel j.Buehrer,最近发表的一篇论文提出一种新的数学框架,如果他的理论是正确的,那么他的数学理论将会创造出一种无所不包的全学习算法。
1595 0
|
算法
算法学习 | 从几个有趣的故事说起,聊聊里面的算法
今天分享读了的故事、研究了的解题过程以及总结的一些算法知识点和经验。
441 1

热门文章

最新文章