专栏首页机器学习从入门到成神关于排序算法的理解(一)

关于排序算法的理解(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/52757801

关于排序算法的理解(一)

今天在做公司面试真题的时候发现,自己对大二学过的排序算法已经忘得差不多了,所以特此写下这篇博客来警醒自己!

       对于排序算法,我觉得下面的这张表就是最好的总结:

      如下是我遇到的一道题目:

一趟快速排序的算法是:

       1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;

       2)以第一个数组元素作为关键数据,赋值给key,即key=A[0];

       3)从j开始向前搜索,即由后开始向前搜索(j--),找到第一个小于key的值A[j],将A[j]和A[i]互换;

       4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]互换;

       5)重复第3、4步,直到i=j; (3,4步中,没找到符合条件的值,即3中A[j]不小于key,4中A[i]不大于key的时候改变j、i的值,使得j=j-1,i=i+1,直至找到为止。找到符合条件的值,进行交换的时候i, j指针位置不变。另外,i==j这一过程一定正好是i+或j-完成的时候,此时令循环结束)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习之从极大似然估计到最大熵原理以及EM算法详解

    极大似然估计是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出...

    大黄大黄大黄
  • 机器学习之从极大似然估计到最大熵原理以及EM算法详解

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

    大黄大黄大黄
  • Webpack创建、运行vue.js项目及其目录结构详解

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

    大黄大黄大黄
  • React Native应用如何想访问HTTP资源应该怎么办

    当我使用JavaScript fetch API访问http资源时,遇到一个错误:

    Jerry Wang
  • TortoiseGit为github账号添加SSH keys,解决pull总是提示输入密码的问题

    每次同步或者上传代码到githun上的代码库时,需要每次都输入用户名和密码,这时我们设置一下SSH key就可以省去这些麻烦了。若果使用TortoiseGit作...

    hbbliyong
  • 应用TortoiseGit为github账号添加SSH keys,解决pull总是提示输入密码的问题

    每次同步或者上传代码到githun上的代码库时,需要每次都输入用户名和密码,这时我们设置一下SSH key就可以省去这些麻烦了。若果使用TortoiseGit作...

    hbbliyong
  • redis系列:通过通讯录案例学习hash命令

    这一篇文章将讲述Redis中的hash类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。

    云枭
  • Caffeine Cache 进程缓存之王

    互联网软件神速发展,用户的体验度是判断一个软件好坏的重要原因,所以缓存就是必不可少的一个神器。在多线程高并发场景中往往是离不开cache的,需要根据不同的应用场...

    黄泽杰
  • redis 学习笔记(7)-cluster 客户端(jedis)代码示例

    上节学习了cluster的搭建及redis-cli终端下如何操作,但是更常用的场景是在程序代码里对cluster读写,这需要redis-client对clust...

    菩提树下的杨过
  • Python使用AES算法进行加解密

    本文要点在于Python扩展库pycrypto实现了大量密码学算法,可以拿来直接使用。 import string import random from Cry...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券