算法
kingj126
这个作者很懒,什么都没留下…
展开
-
使用位运算实现加法
位运算 实现加法 分类: Algorithm2011-10-09 15:23 1001人阅读 评论(0) 收藏 举报 算法c 用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如下 1 + 1 = 0 1 + 0 = 1 0 + 1 = 1 0 + 0 = 0 ...原创 2013-03-13 16:37:15 · 98 阅读 · 0 评论 -
LCS公共子串问题求解
本文转自csdn 0、前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结)。回顾之前的前十章,有些代码是值得商榷的,因当时的代码只顾阐述算法的原理或思想,所以,很多的与代码规范相关的问题都未能做到完美。日后,会着力修善之。 搜遍网上,讲解这个LCS问题的文章不计其数,但大多给读者一种并不友好的感觉,稍感晦涩,且代码也不够清晰。本文力图...原创 2012-03-23 15:12:31 · 166 阅读 · 0 评论 -
算法导论学习之第二章-寻找逆序对
今天学习算法导论第二章中提到的逆序对问题,思前想后采用2种方式比较妥当。具体见下述分析。 逆序对问题: 逆序对(inversion pair)是指在序列{a0,a1,a2...an}中,若ai<aj(i>j),则(ai,aj)上一对逆序对。而逆序数 (inversion number)顾名思义就是序列中逆序对的个数。例如: 1 2 3是顺序,则逆序数是0...原创 2012-10-26 23:51:16 · 214 阅读 · 0 评论 -
算法导论学习之第七章-快速排序
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 不说废话,我们先看代码,然后举个具体例子进行分析。 package chapter7; import j...原创 2012-10-31 16:20:20 · 103 阅读 · 0 评论 -
总结交换2个数的值不用临时变量的方法
今天温习了一下java基础,看到2个数的交换方法的时候,想到了以前的面试经历,总结了如下的3种方法 故而写来放在这里 1、使用异或实现交换 我们知道异或的原理就是如果2个数中对应的位上相同为0,相异为1 即任何数异或上其本身结果不变 public void swap(int a,int b){ a=a^b; b=b^a; ...原创 2012-11-23 11:14:55 · 154 阅读 · 0 评论 -
排序算法之快速排序
本文转自CSDN http://blog.csdn.net/morewindows/article/details/6684558 由于最经开始复习算法相关的东西,看到了快速排序这章,觉得下面这篇文章讲解得非常清晰,浅显易懂,因此转载 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采 用,再加上快速排序思想----分治法也确实实用,因此很多软...原创 2014-04-11 13:24:15 · 77 阅读 · 0 评论 -
使用位运算实现加法
转自CSDN (原文地址 http://blog.csdn.net/zhongjiekangping/article/details/6855864) 用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如下 1 + 1 = 0 1 + 0 = 1 0 + 1 = 1 0 + 0 = 0 ...原创 2014-04-23 16:32:09 · 199 阅读 · 0 评论