认知算法(十一)

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

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

一、插入排序

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

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

  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;
    }

}

相关文章
|
算法
算法学习 | 从几个有趣的故事说起,聊聊里面的算法
今天分享读了的故事、研究了的解题过程以及总结的一些算法知识点和经验。
440 1
|
算法 网络安全 API
冰桶算法要点解读
冰桶算法(Leaky Bucket Algorithm)是一种限流算法,用于控制单位时间内系统的请求数量。它通过模拟一个“漏水的桶”来限制请求的数量。
|
算法 搜索推荐
《十大排序算法》让你的思维流动起来。今天的主角又是排序思想你了解多少。每种算法的内容在代码中体现出来。
《十大排序算法》让你的思维流动起来。今天的主角又是排序思想你了解多少。每种算法的内容在代码中体现出来。
216 0
《十大排序算法》让你的思维流动起来。今天的主角又是排序思想你了解多少。每种算法的内容在代码中体现出来。
|
消息中间件 Java 关系型数据库
pmq学习一-一些典型的使用和套路
pmq是信也科技开源的一款消息中间件,虽然没有RocketMQ和Kafka出名,但是里面的代码还是有值得我们学习的地方的。 pmq的源码里面很多套路还是值得学习的,说实话,这些都是可以用到项目里面的。下面的代码来源于pmq。 首先安装好maven、mysql,对下载下拉的包进行打包: 如果遇到时区问题,则可以调整时区问题。 1.MqBootstrapListener 观察者模式的使用
239 0
pmq学习一-一些典型的使用和套路
|
监控 数据可视化 测试技术
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
314 0
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
|
算法
重温算法,加深理解
算法在开发中的地位我们都很清楚,但是呢实际上项目里用到的算法并不是很多,虽然不是必须但是我们还是要懂算法,理解算法,运用算法。前几年肝了很多算法,但是这玩意不经常练习就会忘记,今天就重新把算法捡起来吧。
111 0
重温算法,加深理解
带你读《计算思维导论实验 与习题指导》之三:计算机原理与硬件组装
本书围绕《计算思维导论》主教材,设计了13个实验,并针对前8章内容设计了习题,包括单选题、多选题、填空题、判断题等。通过实验和习题,能帮助学生:了解计算思维的概念和计算机发展简史;理解进制转换、字符编码和中文编码等相关知识,掌握数制转换的方法和口诀;了解计算机硬件并学会配置与组装计算机,同时能够对简单故障进行判断和排除;掌握上网浏览、查询资料、收发电子邮件等信息时代的必备知识,同时学会局域网的搭建、WWW和FTP服务器的构建;掌握利用Access创建数据库的方法,并能初步设计与管理数据库;掌握命题符号化方法,以及基本的推理理论,并能利用真值表、等值演算等方法进行简单的逻辑推理等能力。
|
搜索推荐 算法 调度
“为你推荐”背后的算法探秘
我们希望营销场景作为卡片的形式插入到现有的为你推荐里,一方面是为这些场景分发流量,一方面是希望提高整体的坑位曝光收益。今天,我们就来探秘如何插入这些营销场景卡片。
3238 0
|
机器学习/深度学习 算法 搜索推荐
对推荐算法演化的几点体会
最近一段时间,由于工作需要一直在研究推荐算法。 通过对互联网信息的搜刮和对现有开源推荐算法的实践,总结出一些心得 遂吐个槽,发表出来与广大网友探讨,希望能得到应用推荐的正确姿势 先说问题吧: 目前推荐算法存在的问题 1.
12354 0
|
人工智能 算法 机器人
新数学框架“终极算法”理论提出,或让机器诞生意识
台湾中正大学的退休教授Daniel j.Buehrer,最近发表的一篇论文提出一种新的数学框架,如果他的理论是正确的,那么他的数学理论将会创造出一种无所不包的全学习算法。
1595 0