内部排序 之 交换排序(快速排序)-每日算法系列
1、算法思想
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
快速排序具有最好的平均性能(average behavior),但最坏性能(worst case behavior)和插入排序相同,也是O(n^2)。比如一个序列5,4,3,2,1,要排为1,2,3,4,5。按照快速排序方法...More »
-
内部排序 之 交换排序(冒泡法+冒泡法改进版)-每日算法系列
0 comments | Alex | 经典面试算法
别小看冒泡法,这里有你不知道的冒泡法 交换排序—冒泡排序(Bubble Sort) 基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下...More »
-
内部排序算法 之 插入排序(希尔排序)-每日算法系列
1 comments | Alex | 经典面试算法
由希尔在1959年提出,又称希尔排序(shell排序)。 希尔排序是基于插入排序的一种算法, 在此算法基础之上增加了一个新的特性,提高了效率。希尔排序的时间复杂度为 O(N*(l...More »
-
斐波那契数列-《剑指offer》-9题
0 comments | Alex | 剑指offer
斐波那契数列-面试题9 题目: 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下 效率很低的解法,挑剔的面试官是不会喜欢的 还记得我们在学习数据结构的时候...More »
-
内部排序算法 之 插入排序(直接插入排序)-每日算法系列
0 comments | Alex | 经典面试算法
!插入排序又分为 直接插入排序 和 希尔排序(shell排序),明天进行希尔排序的讲解 1.直接插入排序 插入排序是一种简单直观的排序算法,基本思想是通过构建有序序列,对于未排序数据,在已...More »
-
查找算法(二) 分块查找-每日算法系列
4 comments | Alex | 经典面试算法
今天的内容相对比较难理解,您可以用两天的空闲时间看这个算法,慢慢的熟悉。(概念好理解,让写程序的思想编程你自己的就慢点了) 一. 1) 块中 的 5个值可能不是有序的,但块与块之间是有...More »
-
查找算法(一) 顺序查找+二分法-每日算法系列
0 comments | Alex | 经典面试算法
二).二分法(折半查找) -----------效率高,但要求序列必须有序-》 使用范围小了 /* * 二分查找算法 --- 递归算法 * */ int ...More »
-
面试中的查找与排序-《剑指offer》-2014.11.19
1 comments | Alex | 剑指offer
查找和排序都是程序设计中经常用到的算哪,查找相对而言较为简单,不外乎顺序查找,二分查找,哈希表查找 和二叉排序树查找。在面试的时候,不管是循环还是递归,面试官都希望应聘者能够信守拈来写出完整正确的二分查找 代码,否则可能连继续面试的兴趣...More »
-
俩个栈实现一个队列-《剑指offer》-5题-2014.11.18
0 comments | Alex | 剑指offer
题目:用俩个栈实现一个队列。队列的声明如下,请事先它的俩个函数 apprendTail 和 deleteHead, 分别完成在队列尾部插入节点和 在队列头部删除节点的功能。 template <typename T...More »
-
空格替换-《剑指offer》-4题-2014.11.12
0 comments | Alex | 剑指offer
替换空格 题目: 请事先一个函数,把字符串中的每个空格替换成 "%20" 。列如输入 "We are happy", 则输出 "We%20are%20happy" &...More »
-
二位数组中的查找-《剑指offer》-3题-2014.11.11
0 comments | Alex | 剑指offer
二维数组中的查找------PS你应该学过经典的二分法,但是你理解二分法的思想的吗? 这个题可以让你更深层的理解二分法的扩展,理解思想。 ...More »
-
判断单链表是否有环,计算环的大小-李世钰每日算法
0 comments | Alex | 数据结构
追求简洁,易懂,高效,鲁棒 /* -------------------判断单链表是否有环-----------------...More »
-
单向链表逆序-李世钰每日算法
0 comments | Alex | 数据结构
/* *1.p1=link->next; 指向第一个节点,p1逆向后做结尾,要置p1->next=NULL; 所以先将p1->n...More »
-
八大内部排序算法-程序猿必备
0 comments | Alex | 数据结构
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 ...More »