温故而知新,算法在我心
2008-03-07 14:42
29 查看
2009.9.1号添加快速排序:
//快速排序
//一:你可以随机找一个基点,然后和第一个数字交换
//二:left表示把指针指向第二个数字和right表示指针指向最后一个数字
//三:left向右移动,找到大于基点的(也就是第一个)就停止移动,right向左移动找到小于基点停止移动,left和right交换数字
//四:当left和right 交叉时,把right的值和基点交换,
//当right和left指向一个数字时,交换,排序完成
//当right和left分别指向第一个和最后一个时,就改为基点的一个数字为基点
//50 65 30 43 76 80 18 50
//第一次:18 50 30 42 50 80 76 65
//第二次:18 30 43 50 50 80 76 65
//第三次:18 30 43 50 50 65 76 80
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
2008-3-8-今日又去面试了,碰到一题,回来仔细写了下,不知道是不是这样效率最好:
2008-3-7-最近又开始面试了,由于长期做NET应用,导致基础算法不清,错失很多良机,故回家补习,列出几例,以便面试临时必备:
如Combind(new int[]{1,3,5}, new int[]{2,4},c)则得到,1,2,3,4,5
如a,b,c,则Permute(0)则得到abc, acb, bac,.......所有组合
猫叫,主人醒来,老鼠逃
//快速排序
//一:你可以随机找一个基点,然后和第一个数字交换
//二:left表示把指针指向第二个数字和right表示指针指向最后一个数字
//三:left向右移动,找到大于基点的(也就是第一个)就停止移动,right向左移动找到小于基点停止移动,left和right交换数字
//四:当left和right 交叉时,把right的值和基点交换,
//当right和left指向一个数字时,交换,排序完成
//当right和left分别指向第一个和最后一个时,就改为基点的一个数字为基点
//50 65 30 43 76 80 18 50
//第一次:18 50 30 42 50 80 76 65
//第二次:18 30 43 50 50 80 76 65
//第三次:18 30 43 50 50 65 76 80
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
2008-3-8-今日又去面试了,碰到一题,回来仔细写了下,不知道是不是这样效率最好:
2008-3-7-最近又开始面试了,由于长期做NET应用,导致基础算法不清,错失很多良机,故回家补习,列出几例,以便面试临时必备:
如Combind(new int[]{1,3,5}, new int[]{2,4},c)则得到,1,2,3,4,5
如a,b,c,则Permute(0)则得到abc, acb, bac,.......所有组合
猫叫,主人醒来,老鼠逃
相关文章推荐
- 一些有趣的算法【温故而知新】
- 【C#】3.算法温故而知新 - 快速排序
- 【C++ STL 温故而知新 002】<algorithm>中各种算法解析和string类
- 【C#】1.算法温故而知新 - 简单的桶排序
- 【C#】2.算法温故而知新 - 冒泡排序
- 火火火---12幅算法生成火的图像
- 第十六周项目1-(8)验证算法基数排序
- LeetCode算法题目:Populating Next Right Pointers in Each Node II
- Bagging与随机森林算法原理小结
- 实现顺序查找的算法
- 神经网络(BP)算法Python实现及简单应用
- 一种安全、高效、简单的登陆算法
- 一致性 hash 算法( consistent hashing )
- 每天一算法(在二元树中找出和为某一值的所有路径(树))
- 机器学习_算法_svm
- 算法与数据结构第七次作业 太阳帝国
- 【读书笔记】程序员的自我修养:链接、装载与库 第一章 温故而知新
- 数据挖掘算法之离散化和二元化
- [算法专题] Binary Tree
- 第十六周项目1-验证算法-归并排序