最好牛线(Best Cow Line) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 给定长度为N的字符串S, 要构造一个长度为N的字符串T. 反复进行如下任意操作.从S的头部删除一个字符, 放入T的尾部;从S的尾部删除一个字符, 放入T的尾部;目标是要构造字典序尽可能小的字符串T.使用贪心算法, 不断选取S首尾最小的字符, 放入T, 如果相等, 则再次向内查找, 找到内部最小的.代码:/** main.cpp** Created on: 2014.7.17* Autho...
冒泡,选择,插入,快速,归并这五个排序是所有编程语言初学者所遇到过的,可能在实际的编程应用中不会遇到,但对于锻炼编程思维,还是有很好的作用。冒泡排序冒泡排序的就是让大的数向后冒,让小的数向前冒。通过前后两个数据比较,不断将大的元素移动到尾部。 1publicstaticvoid main(String[] args) {2// TODO Auto-generated method stub 3int []arr= {-10, 2, 3, 246, -100, 0, 5};4for(int i=0;i<arr.length-1;i++) {5for(in...
bash存在多命令执行的特性,例如:# COMMAND1 $(COMMAND2);还有进程之间的通信(IPC):# COMMAND1 | COMMAND2…一、命令执行结构与算法命令执行中,存在顺序执行结构:分号分隔 # COMMAND1 ; COMMAND2 ; …。同时存在选择执行结构:逻辑运算与、或、非、异或,其中最主要的为选择执行结构,具体讨论如下。1、与:逻辑乘法 &&状态返回值:0对应TRUE,1-255对应FALSE具体算法为:True &&true == true True && false == ...
在介绍朴素贝叶斯分类之前,首先介绍一下大家都比较了解的贝叶斯定理,即已知某条件概率,如何得到两个时间交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)?可以通过如下公式求得:而朴素贝叶斯分类是一种简单的分类算法,称其朴素是因为其思想基础的简单性:就文本分类而言,它认为词袋中的两两词之间的关系是相互独立的,即一个对象的特征向量中的每个维度都是相互独立。朴素贝叶斯分类的正式定义如下:(1)设为一个待...
接口:what;实现:算法;指令; 命令式编程通过一系列改变程序状态的指令来完成计算,声明式编程只描述程序应该完成的任务。命令式编程模拟电脑运算,是行动导向的,关键在于定义解法,即“怎么做”,因而算法是显性而目标是隐性的;声明式编程模拟人脑思维,是目标驱动的,关键在于描述问题,即“做什么”,因而目标是显性而算法是隐性的。 https://www.cnblogs.com/feng9exe/p/10190716.html 原文:https://www.cnblogs.com/fen...
背包问题(三种动态规划) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目参考: http://blog.csdn.net/caroline_wendy/article/details/37912949可以用动态规划(Dynamic Programming, DP)求解, 可以通过记忆化搜索推导出递推式, 可以使用三种不同的方向进行求解.动态规划主要是状态转移, 需要理解清晰.代码:/** main.cpp** Created on: 2014.7.17* Author: spike*//*eclipse cdt, gcc 4.8.1*/#include <stdio.h>
#...
1、题目 – Sqrt(x)Implement int sqrt(int x).Compute and return the square root of x.题目意思很简单,就是求出x的平方根。分析:一看这题目,感觉很简单,很容易想到的是二分法,我最开始的解法是从1、2、4、8 … 2 * n,计算出n < x < 2n,然后再在 n 和 2n间,用二分法,找到平方根结果。这种方法比较麻烦的一点是,乘积是有可能越界的,要处理乘积越界的情况,代码可读性不强。class Solution {
public:int sqrt(int x) {i...
函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。传入函数函数的本身也可以作为参数。Python内建的mapreduce的函数。(来源于谷歌的,后来被道格这家伙开源了,成为当今处理大数据最火热的hadoop中的计算模型---MapReduce)我们先看map。map()函数接收两个参数,一个是函数...
我的新书《编程之法:面试和算法心得》已经上市经过一天一天、一月一月、一年一年漫长的等待,我的新书终于上架开卖了!异步社区:http://www.epubit.com.cn/book/details/4051。互动出版网(7.7折且包邮且移动端首单再减5元):http://product.china-pub.com/4880112。京东预售:http://item.jd.com/11786791.html,很快就能抢购。1 新书上市7天10月13日晚上,拿到《编程之法》第一本样书10月14日下午三点半,异步社区首发开卖:h...
有序双循环链表的插入 代码(C)本文地址: http://blog.csdn.net/caroline_wendy有序双循环链表的插入, 需要找到插入位置, 可以采用, 两个指针, 一个在前, 一个在后.保证前面的小于等于插入值, 后面的大于等于插入值.特殊情况, 首尾插入(大于或小于整个链表)或单节点, 判断条件为后指针指向首节点. 则需要直接插入.插入链表头, 需要调整链表头节点.代码22行.代码:/** main.cpp** Created on: 2014.9.18* Author: Spike*//*ecli...
(上接第二章) 4.3.1 KMeans 算法流程 算法的过程如下: (1)从N个数据文档随机选取K个文档作为质心 (2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类 (3)重新计算已经得到的各个类的质心 (4)迭代(2)~(3)步直至新的质心与原质心相等或者小于指定阀值,算法结束。 4.3.2 辅助函数 (1)文件数据转为矩阵:file2matrixdef file2matrix(path,delimiter):recordlist = []fp ...
导读 SHA-1算法是第一代“安全散列算法”的缩写,其本质就是一个Hash算法。SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者。如今SHA家族已经出现了5个算法。Redis使用的是SHA-1,它能将一个最大2^64比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的消息产生的消息摘要是不同的。虽然SHA1于早年间也传出了破解之道,但作为SHA家族的第一代算法,对我们仍然很具有学习价值和指导意义。...
最长公共子序列(LCS) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 给定两个字符串s,t, 求出这两个字符串最长的公共子序列的长度. 字符串的子序列并一定要连续, 能够包含间隔.即最长公共子序列问题(LCS, Longest Common Subsequence)使用动态规划, 假设字符相等, 两个字符串就依次递增一位, 一直到字符串的结尾.代码:/** main.cpp** Created on: 2014.7.17* Author: spike*//*eclipse cdt, gcc 4.8.1*/#inclu...
再没有比算法更让人头疼的东西了吧!前两天参加了一个编程大赛http://www.ijiami.cn/newsInfo?id=519&v=2,有感于算法,所以整理了这篇关于编程竞赛的10个算法。动态规划(DP)似乎占据了大部分的编程竞赛题目,乃至三分之一。当然,DP也不是一个学一次就Ok的单一算法。这还取决于你是否把数据结构与算法放在同一个等级中考虑。如果你想要在编程竞赛中一展风采的话,当然,有些数据结构是你应该熟悉的。其中最重要的有范围树(Rang...
方法 1/* **********************************************************************************1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。*************************************************************************************/答:package com.example; import java.io.File;import java.io.FileReader;import jav...