- 博客(38)
- 资源 (1)
- 收藏
- 关注
转载 迪菲-赫尔曼秘钥交换(Diffie-Hellman Key Exchange)
迪菲-赫尔曼秘钥交换(Diffie-Hellman Key Exchange)
2017-07-27 14:52:02
2129
原创 密码学——OSI安全框架(Cryptography - The OSI Security Architecture)
The OSI Security ArchitectureTo assess effectively the security needs of an organisation and to evaluate and choose various security products and policies, we need some systematic way of defining the r
2017-07-27 14:16:32
1555
1
原创 机器学习——准确率、精度、召回率和F1分数(Machine Learning - Accuracy, Precision, Recall, F1-Score)
Evaluation of Machine Learning Algorithm Once you have done a machine learning model for classification problem, we want to know the accuracy of prediction of the model. We can use accuracy, precision
2017-07-16 12:39:52
8284
1
原创 GSON
What is GSON? A Java serialization/deserialization library to convert Java Objects into JSON and back is designed by google.(Check open source GSON project)A GSON Project I wrote a GSON project.(Chec
2017-07-03 18:35:21
477
原创 JSON
outJSONWhat is JSON? Here is a JSON.{ "name": "Shuai Wang", "id": "1240031", "subject": [ "Algorithm", "Internet", "Database", "Java" ], "grade": 72.5, "has_girlfriend": tr
2017-07-03 12:55:02
489
原创 Java - 编程规范(Programming Convention)
Java - 编程规范(Programming Convention)常量命名(Naming Contants) Spell named constants using all uppercase letters with the underscore used to seperate “words”. For example,public static final double INTREST_
2017-07-02 10:59:33
980
原创 Java - 字符串(String)
Java - 字符串(String)There is no primitive type for strings in Java. But there is a class called String used to store and process strings. For example,String s = "I fall in love with ZL";字符串的连接(Concatenat
2017-07-01 18:45:34
346
原创 Java - 表达式和赋值语句(Expressions & Assignment Statements)
Java - 表达式和赋值语句(Expressions & Assignment Statements)标识符(Identifier) The name of a variable(or other items you might define like method names, class names, etc) is called an identifier.An identifier ca
2017-07-01 16:09:12
1586
原创 Java - Introduction
Java - IntroductionWhat is Java? Java is well-known as a programming language for Internet applications. Why is the language named “Java”? One believable story is that the name was thought by a membe
2017-06-28 15:41:18
722
原创 暴力破解(Brute Force)
暴力破解(Brute Force)简介(Introduction) Brute force is a very general problem-solving technique that consists of systematically enumerating all possible candidates for the solution and checking whether each
2017-06-11 17:25:51
1141
原创 递归法(Recursion)
递归法(Recursion)简介(Introduction) Recursion occurs when a thing is defined in terms of itself or of its type. Recursion is an important algorithmic design technique. In this blog, we talk about some algo
2017-06-11 16:58:31
437
原创 减治法——搜索第k小元素(Decrease and Conquer by a Factor - Finding the kth smallest element)
减治法——搜索第k小元素(Decrease and Conquer by a Factor - Finding the kth smallest element)问题(Problem) Find the kth smallest element in an unsorted array.分割(Partitioning) Partitioning an array around some pivo
2017-06-11 16:32:30
1318
原创 减治法——内插法搜索(Decrease and Conquer by a Factor - Interpolation Search)
减治法——内插法搜索(Decrease and Conquer by a Factor - Interpolation Search)内插法搜索(Interpolation Search) If the elements of a sorted array are distributed reasonably evenly, interpolation search performs better
2017-06-11 15:59:37
1133
原创 减治法——二分查找算法(Decrease and Conquer by a Factor - Binary Search Algorithm)
减治法——二分查找算法(Decrease and Conquer by a Factor - Binary Search Algorithm)减治法简介(Introduction) Decease-and-Conquer is a famous algorithmic design technique. basically, in the approach the size of problem
2017-06-11 14:41:05
1661
原创 图——拓扑排序(Graph - Topological Sort)
图——拓扑排序(Graph - Topological Sort)简介(Introduction) We know some problems in real life can be modelled as graph like task planning. Assume a directed edge from a to b means that task a must be done befo
2017-06-11 12:33:44
552
原创 图——广度优先搜索(Graph - Breadth First Search)
图——广度优先搜索(Graph - Breadth First Search)简介(Introduction) Breadth-first search(BFS) visits all nodes in alphabetical order that are one step away from start node, then all nodes that are two steps away
2017-06-11 12:09:56
814
原创 图——深度优先搜索(Graph - Depth First Search)
图——深度优先搜索(Graph - Depth First Search)简介(Introduction) Depth-first search(DFS) is an algorithm for traversing or searching tree or graph data structure. One starts at the root(selecting some arbitrary
2017-06-11 10:47:18
1051
原创 图——基本概念(Graph - Concepts)
图——基本概念(Graph - Concepts)序言(Preface) Graph algorithms are very practical as a lot of problems in real life can be modelled as graph. Such as, network design, flow design, planning, scheduling, route f
2017-06-11 09:38:19
768
原创 分治法——主定理(Divide and Conquer - The Master Theorem)
分治法——主定理(Divide and Conquer - The Master Theorem)Divide-and-Conquer Recurrences What is the time required to solve a problem of size n by divide-and-conquer?Generally, we split the problem into b smal
2017-06-10 16:56:38
1825
原创 分治法——树的遍历(Divide and Conquer - Tree Traversal)
分治法——树的遍历(Divide and Conquer - Tree Traversal)二叉树概念(Binary Tree Concepts) This is a binary tree with height h = 4. 口 represents empty tree with height h = -1. 口 is an external node only at level h a
2017-06-10 15:03:35
1167
原创 Transform and Conquer - Instance Simplification
Transform and Conquer - Instance Simplification原理(Principles) Try to make the problem easier through some pre-processing, typically sorting. We can pre-sort input to speed up.Uniqueness Checking - Bru
2017-06-10 14:06:15
739
原创 平衡树——2-3树(Binary Search Tree - 2-3 Tree)
平衡树——2-3树(Binary Search Tree - 2-3 Tree)简介(Introduction) 2-3 trees and 2-3-4 trees are binary search trees that allow one node have more than one items stored. For BSTs, a node that holds a single i
2017-06-10 12:56:27
1318
原创 平衡树——自平衡二叉树(Balanced Tree - AVL Tree)
平衡树——自平衡二叉树(Balanced Tree - AVL Tree)定义(Definition) An AVL tree is a self-balancing binary search tree. It was named after its two inventors: Georgy Adelson-Velsky and Evgenii Landis. Recall that we d
2017-06-10 11:59:05
1672
原创 时空权衡——字符串匹配(Time/Space Tradeoff - Horspool's String Matching)
时空权衡——字符串匹配(Time/Space Tradeoff - Horspool’s String Matching)字符串匹配简介(Introduction) String matching is to find a place where one or several strings(called pattern) are found within a large string or te
2017-06-10 09:24:34
834
原创 时空权衡——斐波那契数列(Time/Space Tradeoff - Fibonacci Sequence)
时空权衡——斐波那契数列(Time/Space Tradeoff - Fibonacci Sequence)斐波那契数列简介(Introduction) In mathematics, the Fibonacci numbers are the numbers in the following integer sequence, called Fibonacci sequence, charact
2017-06-10 08:15:01
790
原创 时空权衡——哈希法(Time/Space Tradeoff - Hashing)
时空权衡——哈希法(Time/Space Tradeoff - Hashing)哈希法简介(Introduction) Hashing is a standard way of implementing the abstract data type “dictionary”, which is a set with the operations of searching, insertion, d
2017-06-09 14:21:54
1444
原创 动态规划算法——弗洛伊德算法(Dynamic Programming Algorithm - Floyd's Algorithm)
动态规划算法——弗洛伊德算法(Dynamic Programming Algorithm - Floyd’s Algorithm)伪代码(Pseudocode)function Floyd(W[1..n, 1..n]) D ⟵ W for k ⟵ 1 to n do for i ⟵ 1 to n do for j ⟵ 1 to n do
2017-06-09 11:29:02
1775
原创 动态规划算法——沃夏尔算法(Dynamic Programming Algorithm - Warshall's Algorithm)
动态规划算法——沃夏尔算法(Dynamic Programming Algorithm - Warshall’s Algorithm)传递闭包(Transitive Closure) “The transitive closure of a directed graph with n vertices can be defined as the n × n boolean matrix T = {
2017-06-07 18:41:31
1698
原创 动态规划算法——背包问题(Dynamic Programming Algorithm - Knapsack Problem)
动态规划算法——背包问题(Dynamic Programming Algorithm - Knapsack Problem)背包问题(Knapsack Problem) (picture is from https://en.wikipedia.org/wiki/Knapsack_problem) The knapsack problem is a problem in combinator
2017-06-07 15:11:36
4641
原创 贪心算法——狄克斯特拉算法(Greedy Algorithm - Dijkstra's Algorithm)
贪心算法——狄克斯特拉算法(Greedy Algorithm - Dijkstra’s Algorithm)最短路径问题(The Single-Source Shortest Path Problem) In real life, the single-source shortest path problem is everywhere. For example, you bought a blo
2017-06-01 12:27:51
1973
原创 贪心算法——普林姆算法(Greedy Algorithm-Prim's Algorithm)
贪心算法——普林姆算法(Greedy Algorithm-Prim’s Algorithm)贪心算法简介(Introduction of Greedy Algorithm) (pic: https://www.sicas.cn/Students/Info/Content_110622143056742.shtml)There is a common situation in which a c
2017-05-31 17:06:49
2871
1
原创 排序算法——归并排序(Merge Sort)
排序算法——归并排序(Merge Sort)算法简介(Merge Sort) Merge sort is an excellent application of “Divide-and-Conquer” algorithmic technique. It starts by dividing an array A[0..n-1] into two halves B[0..n/2-1] and C
2017-05-30 13:06:52
1083
原创 排序算法——希尔排序(Shell Sort)
排序算法——希尔排序(Shell Sort)算法简介(Introduction) Insertion sort shifts elements which are out of order one position. For example, an array 1, 3, 2, 4, 5. Shift 3 to 2. It turns 1, 2, 3, 4, 5. The distance of
2017-05-29 18:46:29
892
原创 排序算法——堆排序(Heap Sort)
排序算法——堆排序(Heap Sort)堆(Heap) Heap is a complete binary tree which satisfies the heap condition: Each child has a key which is no greater than its parent’s.There are some trees, which are heaps? which
2017-05-29 10:04:07
1103
原创 排序算法——快速排序(Quick Sort)
排序算法——快速排序(Quick Sort)算法简介(Introduction) Quick sort is based on devide-and-conquer approach. A big problem is decided into small problems, and then solve small problem first. For example, 100 elements
2017-05-28 17:35:04
1129
原创 排序算法——冒泡排序(Bubble Sort)
排序算法——冒泡排序(Bubble Sort)算法简介(Introduction) Bubble sort is to compare adjacent elements of the list and exchange them as long as they are out of order. By repeatly compare and exchange, the largest elem
2017-05-28 14:33:30
836
原创 排序算法——选择排序(Selection Sort)
排序算法——选择排序(Selection Sort)算法简介(Introduction) We start selection sort by scanning entire given list to find its smallest element and exchange it with the first element, putting the smallest element in
2017-05-28 12:58:40
907
原创 排序算法——插入排序(Insertion Sort)
排序算法——插入排序(Insertion Sort)伪代码(Pseudocode):function INSERTIONSORT(A[0..n-1]) for i ⟵ 1 to n-1 do v ⟵ A[i] j ⟵ i-1 while j ≥ 0 and v < A[j] do A[j+1] ⟵ A[j]
2017-05-27 12:18:53
1174
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人