`
zhuyufufu
  • 浏览: 139480 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
变位词    一种把某个词或句子的字母的位置(顺序)加以改换所形成的新词,英文叫做anagram,词典把这个词翻译成“变位词”。       最近参加了一个面试,其中一道上机题目就是有关变位词的。    题目描述大致如下:     1.给出一个两个字符串互为变位词的相似度算法。当他们为变位词的时候输出1.0;当他们长度不同且没有相同字母时输出0;其他情况给出一个规则输出一个0到1之间的浮点数。     2.有一个文件其中有18万个单词,输出变位词集合长度超过8的变位词集合到一个文件中。    这道题目的考点有四个:    1.变位词算法的设计    2.变位词相似度算法的设计    3.J ...
   从高中接触篮球到现在,我也有10年球龄了。除了刚开始那几年之外我的投篮一直不准。最近几个月我的投篮水平又回到了我投篮最准的时候。    这其中有什么诀窍呢?    这和我采用的练习方法有很大关系。几个月前我 ...
回文    把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。 锦字回文    前秦时期,秦州刺史窦滔因得罪了苻坚的手下大官被流放到流沙县。夫妻天各一方,他的妻子苏蕙特地在一块锦缎上绣上840个字,纵横29个字的方图,可以任意地读,共能读出3752首诗,表达了她对丈夫的思念与关心之情。 后遂以“锦字书”等指前秦苏蕙寄给丈夫的织锦回文诗。“锦字”典出于前秦窦滔之妻苏蕙,织锦为回文《璇玑图》诗,赠其夫。后世因称“锦字”为妻寄夫之信。    回文判断通常是面试常用的题目,写出多种回文判断算法,从内存占用及执行时间优化角度衡量算法优劣,是面试的重点。 程序 ...
   数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。        原子性(atomic)(atomicity): 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相 ...
本文内容转自  Oracle OLAP 与 OLTP 介绍 http://blog.csdn.net/tianlesoftware/article/details/5794844     数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关 ...
本文介绍一下NoSQL相关的知识。 书籍推荐 <<NoSQL精粹>> 英文名 <<NoSQL Distilled>> 作者 Martin Fowler。    第一眼看到NoSQL时把它理解为No SQL,这让我着实高兴了一阵子。因为我对SQL没啥兴趣,尤其遇到写Function、Procedure、Trigger时更是烦恼。这下子出了个不要SQL的数据库理论加有实际开源产品的东东,我很高兴。    但是找了相关资料看了之后稍微有点失望:NoSQL的意思为 Not Only SQL。也就是说数据存储技术不仅仅是SQL的意思。       关 ...
部分内容引自 Oracle优化器的优化方式和优化模式-性能调优 http://www.cnblogs.com/sopost/archive/2010/12/21/2190066.html 书 <<收获,不止Oracle>> 作者梁敬彬。     以前做过生产运行环境慢的问题定位与调优,记忆中影响最大的部分 ...
堆排序:   堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 Java代码实现示例: package com.zas.algorithm; import java.util.Arrays; /** * 堆排序 * @author zas */ public class HeapSort { public static void sort(int[] data) { // 大顶堆 MaxHeap maxHeap = new MaxHeap(); maxHeap.in ...
数据挖掘:    从数据中获取知识,辅助科学决策。    可以发掘埋藏在海量数据中有价值的信息。    数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又有潜在有用信息和知识的过程。    数据挖掘算法大都建立在统计学大数定律基础上。       数据挖掘一般处理的是大量数据,但是小样本数据也是可以进行挖掘的。    不完全数据是说收集的数据中有些数据项没有值。    噪音数据就是有误的数据,一般对海量数据来说难以避免。    模糊性是指事物本身从属概念的不确定性(如高矮胖瘦,某数据在一定范围等)。    随机性是指事件发生与 ...
快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 Java代码实现示例: package com.zas.algorithm; import java.util.Arrays; /** * 快速排序 * @author zas */ public class QuickSort { /* ...
人择原理: 相信对宇宙学有所了解的人对人择原理并不陌生。 百科介绍: http://baike.baidu.com/view/19681.htm。   人择宇宙学原理(简称人择原理)由鲍罗和泰伯拉提出。简言之正是人类的存在,才能解释我们这个宇宙的种种特性 ...
归并排序:   归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。   归并排序是建立在归并操作上的一种有效的排序算 ...
插入排序:      每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。      包括:直接插入排序,二分插入排序(又称折半插入排序),链表插入排序,希尔排序(又称缩小增量排序)。属于稳定排序的一种(通俗地讲,就是两个相等的数不会交换位置) 。 Java代码实现: package com.zas.algorithm; import java.util.Arrays; /** * 插入排序 * @author zas */ public class InsertSort { publi ...
选择排序:  每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。 Java代码实现如下: package com.zas.algorithm; import java.util.Arrays; /** * 选择排序 * @author zas */ public class SelectSort { public static int[] selectSort(int[] array) { if (null == array || array.len ...
发现一本好书<The Hidden Reality>, 中文翻译书名<隐藏的现实-平行宇宙是什么>。    前几年看了部电影叫《盗梦空间》,其展现的多重梦境叫人拍案叫绝。当时看完电影之后就想找一找电影内容的理论基础,但是由于别的一些事情耽搁了。如今看了平行宇宙这本科普读物,我确信终于找到了当时要找的东西。    总以为科学家要么是实验室狂人,要么是在黑板前疯狂演绎数学公式的老师型人物。但是这本书的作者Brian Green(布莱恩•格林)写的这本书彻底颠覆了我对科学家的刻板印象。    隐藏的现实这本书介绍了九种平行宇宙模型,语言通俗易懂,只要有高中的数学物理基础就 ...
Global site tag (gtag.js) - Google Analytics