算法学习
文章平均质量分 64
tim5wang
Geek极客精神可以追溯到什么时候?
展开
-
经典永不过时!重温设计模式
看到一篇非常棒的总结设计模式的文章,情不自禁地想要转载过来。以下文章来源于极客重生 ,作者Alex码农的艺术来自公众号:极客重生| 导语 在软工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的,设计模式是针对软件设计中常见问题的工具箱,其中的工具就是各种经过实践验证的解决方案。即使你从未遇到过这些问题,了解模式仍然非常件有用,因为它能原创 2021-06-03 13:12:17 · 218 阅读 · 0 评论 -
排列组合算法
发现一篇写的不错的排序组合算法,转载之命题:多维数组的排列组合 或 多个数组之间的排列组合命题场景:现在有一批手机,其中颜色有[‘白色’,‘黑色’,‘金色’];内存大小有[‘16G’,‘32G’,‘64G’],版本有[‘移动’,‘联通’,‘电信’],要求写一个算法,实现[[‘白色’,‘16G’,‘移动’], [‘白色’,‘16G’,‘联通’] …]这样的组合,扩张,如果后面还有参数,比如再...转载 2019-06-07 10:09:05 · 3575 阅读 · 0 评论 -
java实现一个JSON字符串处理工具,轻量级
突发奇想要造一个轮子,解析解析JSON,因为对Java正则不熟练,写了两天才写好。特点:1. 能够正确处理括号嵌套,但是可能会受到json中嵌套的特殊带有干扰性的单括号影响,有时间可结合第2点完善。2. 能够正确处理带有转义引号的字符串。3. 对json的键值对定位处理类似于新版MySQL中的处理方式“attr1.$2.subattr2”.4. 看懂本代码关键靠这几张来自JSON官网的...原创 2019-03-24 02:37:09 · 559 阅读 · 0 评论 -
算法复习
Lecture 1Lecture 2递归,分治,时间复杂度计算,三个符号的关系写表达式代换法递归树法主方法(注意适用范围)大数乘法棋盘覆盖问题设计算法优先考虑分治算法Lecture 3读懂伪代码为代码写思路最好,最坏,期望,平时考虑最坏,桶排序考虑期望排序算法O(logn)O(log n)O(logn)通过决策树证明...原创 2019-01-24 10:42:04 · 478 阅读 · 0 评论 -
DFA,NFA,GNFA转化为RG有穷自动机转正则表达式
一个NFA转RG的简单java实现:package hwk2;//import com.alibaba.fastjson.JSON;public class Nfa2Re { // Step1 : Add state S and State A to the formal NFA public static String[] states = new String[] {"S","q...原创 2018-11-01 01:20:12 · 2284 阅读 · 0 评论 -
算法中的排序问题总结,时间复杂度为O(n)的排序,计数排序,桶排序,基数排序
线性时间的排序算法大学时学过的一些排序算法,像插入排序(直接插入排序,折半插入排序,希尔排序)、交换排序(冒泡排序,快速排序)、选择排序(简单选择排序,堆排序)、2-路归并排序(见我的另一篇文章:各种内部排序算法的实现)等,这些排序算法都有一个共同的特点,就是基于两两比较交换位置。本文将介绍三种非比较的排序算法:计数排序,基数排序,桶排序。它们将突破比较排序的Ω(nlgn)下界,以线性时间运行。...转载 2018-09-27 01:25:57 · 10056 阅读 · 0 评论 -
使java_websocket_cilent支持wss协议
可以用nginx或者apache使用 https到http的代理,实把wss服务代理到wsserver {listen 443;server_name test.xxxx.com;access_log logs/test.xxxx.log main;ssl on;ssl_certificate /etc/test.xxxx.com.cer; # 这里是服务端的证书路径ss...原创 2018-08-06 22:17:40 · 6587 阅读 · 4 评论 -
JAVA SE踩坑实践——解析读写 ini配置文件,简易键值对存储类,AES加解密算法
解析ini配置文件,ini配置文件格式如下: 分为小节:[section] 键值对: key=valuepackage com.cdr.printer.view;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStre...原创 2018-06-24 21:15:36 · 498 阅读 · 1 评论 -
JAVA SE踩坑实践——网口热敏打印机编程遇到的坑
因为项目涉及到的保密等因素,这里不提供实现思路和代码,这里只提及部分知识点项目遇到的挑战项目要实现打印机IP复用(一个打印机可以虚拟成多个打印机)打印机打印相应越快越好手机端打印可能和打印机不在同一局域网(用的4G网络)一个酒楼可能有几十台打印机需要打单因为网络不畅/缺纸等问题造成的失败应当能够重打大量失败需要重打的任务应当不造成驱动拥堵,造成大量内存消耗或者打印延迟...原创 2018-06-24 18:26:44 · 1235 阅读 · 2 评论 -
HeadFirst设计模式笔记(一)策略模式,观察者模式
1. 设计原则找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。多样组合,少用继承。为了交互对象之间的松耦合设计而努力。2. 设计模式1. 策略模式1.1 定义: 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。1.2 鸭子模拟器案例:原创 2017-07-17 08:58:42 · 310 阅读 · 0 评论