记录一些重要算法的思路(持续整理)

原创 2015年07月09日 09:05:40

基于内容精简、重点突出、便于理解的这些优点,选择中文伪码来记录。

 

  • 二分查找
当数组有元素时(left<=right)循环:
          若查找值小于中位数,则查找左半边数组;
          若查找值大于中位数,则查找右半边数组;
          否则查找值等于中位数,即找到。
返回未找到。
_______________________________________________
 
    
  • 归并排序
当数组多于一个元素时(left<right):
          递归排序左半边(含中间);
          递归排序右半边;
          合并两边。

_______________________________________________

 

 

  • 快速排序
当数组多于一个元素时(left<right):
          q = Partion();
          递归排序q左边;
          递归排序q右边。
 
Partion:
         选择第一个记录作为枢轴,值为key;
         当left<right时循环:
                   right从右到左,直至比key小时停下,并设置a[left] = a[right]
                   left从左到右,直至比key大时停下,并设置a[right] = a[left]
         a[left] = key
         返回left

_______________________________________________

 
 
  • 堆排序
从最后一个非叶节点(length/2-1往前循环:
         全范围lengthAdjustHeap调整当前节点
由后往前循环(i=length-1;i>0;--i):
         当前节点与根节点交换;
         在范围i内,AdjustHeap调整根节点
 
AdjustHeap:
         若当前节点有孩子,循环:
                   选择一个较大的孩子;
                   若该孩子比当前节点大,则交换并将当前节点设为该孩子,否则结束
_______________________________________________



相关文章推荐

黑马程序员-重要代码记录Part2(持续跟新)

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 黑马程序员-重要代码记录 (原打算一个帖子收集,发现多了就不方便回顾...

持续集成回顾暨点滴分享[5] – 吐槽篇,代码提交记录很重要!

写了几篇干货,插一个吐槽吧! 持续集成的一个题中之义就要充分获取各种信息为我所用,掌握了信息,才可以避免被动挨打的局面,各位QA/测试们,你懂的! 众多信息中,代码的提交信息(svn commit...

SNS网站最重要的任务:思考为什么人们会持续访问你的站点

理解人们为什么会不断访问你的社会应用程序可能是SNS网站产品团队的最重要的任务。你可以做一些简单的事情,以确保他们在你的网站上会觉得舒服点,但最重要的是你要给他们提供社交的环境。如果他们是自发来的,他...
  • hzbooks
  • hzbooks
  • 2011年03月21日 11:54
  • 797

PAT 1027 打印沙漏-------思路很重要

本题要求写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 *****  ***   *  *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;...
  • cs_hmyy
  • cs_hmyy
  • 2015年09月08日 09:23
  • 414

持续创业,跌代创新是双创时代的重要特征

 我在工作之前一直是农村户口,作为村里人,每一年都经历过“双抢”,是暑假的一个大任务,所谓“双抢”是指抢收庄稼抢种庄稼。水稻在南方一般种两季,七月早稻成熟,收割后,得立即耕田插秧,务必在立秋左右将...

敏捷开发,持续集成 CruiseControl.NET 自动发布 我的一点小实践 其中配置文件替换部分挺重要

首先声明:我是个刚开始学习使用,哪里不合理还请专家们多指导。          我的实践是这样的,我一台电脑是win2003+ii6是可以自动发布到iis的,但是工作时主要用的是xp+ii5的机...

Ubuntu server安装apache2及重要配置(持续更新)

ubuntu Server 安装apache2  命令 : sudo apt-get install apache2  出现提示: Could not reliably determine...

重要知识结构-持续更新中

1:随机过程 随机过程主要有应用随机过程和理论概率两种课程.前者比较常见与工科,后者主要集中在数学系或者统计系.几本经典的教材: (1):Adventures in stochastic proces...
  • DeepVL
  • DeepVL
  • 2014年09月28日 23:44
  • 1699

2016年计算机视觉&机器学习领域国内重要会议 汇总 (持续更新)

前言国内每年都会举办很多计算机视觉(Computer Vision,CV)、 机器学习(Machine Learning,ML)领域相关的很多学术会议和研讨会等。有一些是收费征稿的学术会议,有一些是免...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记录一些重要算法的思路(持续整理)
举报原因:
原因补充:

(最多只允许输入30个字)