![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【数据结构及算法】
杰瑞26
架构师、脚本语言专家;精通Python,Shell,正则表达式;熟悉Java, C, Tcl, Ruby, Scala, Perl等多种编程语言,在性能,开源,硬件及自动化测试方面也有非常丰富的经验
展开
-
浅谈MD5及简单使用
原理简介: MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又名:摘要算法、哈希算法),主流编程语言普遍已由MD5实现。将数据运算为另一固定长度值(十六进制的话:32位),是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。 MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有s原创 2014-08-06 23:17:47 · 2889 阅读 · 0 评论 -
运用异或运算符实现加密
通过异或运算符号与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到加密后的字符串。 import java.util.Scanner; public class Encypt { public static void main(String args[]){ Scanner scan = new Scanner(System.in);原创 2014-02-24 14:43:23 · 1973 阅读 · 0 评论 -
用异或实现两个变量的互换
一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,可以用更高效的方法。例如:^(异或)操作,举例如下: import java.util.Scanner; public class VariableExchange { public static void main(String args[]){ Sca原创 2014-02-24 17:51:06 · 1865 阅读 · 0 评论 -
Perl中Schwartzian转换问题
Perl中著名的Schwartzian转换,其产生背景主要涉及到排序问题: 比如说,根据文件名以字母顺序排序,代码如下: use strict; use warnings; my @files = glob "*.xml"; #perl中文件操作符glob提供相当于shell中的通配符的功能 my @sorted_files = sort @files; #sort(),排序,默认是字母顺序排序 比如说,根据文件名长度排序,其代码如下: use strict; use warni原创 2015-01-28 23:19:15 · 1166 阅读 · 0 评论 -
Java的数组的几种经典算法
Java中与数组相关的算法,常用的有:冒泡排序、选择排序、和反转排序。 【冒泡排序】 1. 基本思想 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有必要交换为止,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名之。 2. 算法 因此冒泡排序总的平均时间复杂度为 . 3. 算法实现原创 2015-01-25 22:57:15 · 2954 阅读 · 0 评论 -
Python中的推导式介绍
推导式是Python中很强大的、很受欢迎的特性,具有语言简洁,速度快等优点。推导式包括: 列表推导式 字典推导式 集合推导式 嵌套列表推导式 NOTE: 字典和集合推导是最近才加入到Python的(Python 2.7 和Python 3.1以上版).原创 2014-12-20 19:19:48 · 3170 阅读 · 0 评论 -
Python代码优化概要
Python即是面向过程语言,也是面向对象语言,更多情况下充当脚本语言的角色。虽是脚本语言,但同样涉及到代码优化的问题,代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使程序运行效率更高,根据80/20原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗80%的工作量。 优化通常包含两方面的内容: 1. 减小代码的体积、提高代码的可读性及可维护性。 2. 改进算法,降低代码复杂度,提高代码运行效率。 选择合适的数据结构一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的原创 2014-12-21 13:19:45 · 1771 阅读 · 0 评论 -
scala学习初步
出于要处理进行大数据分析,听说scala就是做大数据分析和机器学习的,spark就是用scala开发的,百度上一输入scala后面就是大数据,一种基于JVM基础上开发的,一种类似于JAVA的编程语言,一种集合面向对象语言和函数式函数于一体的多范式编程语言。更有传言说,会成为下一代JAVA语言。更主要考虑自己要做大数据分析,OpenStack开源等方面的测试,必须对该门语言有比较深入的了解.原创 2016-05-01 10:27:49 · 810 阅读 · 0 评论