
数据结构与算法
数据结构与算法
十二翼堕落天使
我梦见过许多种我们有可能的未来——无一善终。
展开
-
JS实现矩阵相乘、行列式、逆矩阵
一、矩阵运算1.1 矩阵相乘Am×p{\rm A_{m \times p}}Am×p、Bp×n{\rm B_{p \times n}}Bp×nCm×n=Am×p×Bp×n{\rm C_{m \times n}} = {\rm A_{m \times p}} \times {\rm B_{p \times n}}Cm×n=Am×p×Bp×nCij=∑k=1paik⋅bkj{\rm C_{ij}} = \sum_{ \rm k=1}^{\rm p} a_{\rm ik} \cdot b_{\原创 2020-05-15 16:06:21 · 5629 阅读 · 1 评论 -
维吉尼亚(Vigenere)密码算法描述与实现
维吉尼亚密码QUOTE 《密码编码学与网络安全——原理与实践(第五版)》多表代替密码中最著名和最简单的是 Vigenere 密码。它的代替规则集由 26 个 Caesar 密码的代替表组成,其中每一个代替表是对明文字母表移位 0 到 25 次后得到的代替单表。算法描述明文:P=p1p2...pn{\rm P = p_1 p_2 ... p_n}P=p1p2...pn密钥:K=k1k2...km{\rm K = k_1 k_2 ... k_m}K=k1k2...km密文原创 2020-05-14 12:19:10 · 3243 阅读 · 0 评论 -
【树】——从二叉树到AVL树再到红黑树
二叉树本身是以递归的方式定义的,而现有的大部分二叉树的代码的都是以 ==树的节点作为二叉树的内部类==的方式设计的。虽然这样的设计的确更容易实现继承,写出更简洁的代码。然而本教主向来对递归比较头疼,所以希望能简单的重构一下二叉树的实现。原创 2019-09-07 00:02:06 · 2671 阅读 · 1 评论 -
【图】——遍历、最小生成树、拓扑排序、关键路径、最短路径
深度优先遍历是对树的先序遍历广度优先遍历是对树的层次遍历(很多地方说后序遍历,然后后续遍历和层次遍历是不一样的)用非递归的算法的话,两个算法都只是只有栈和队列的地方有差异原创 2019-06-26 15:33:47 · 1551 阅读 · 0 评论 -
【算符优先法】——表达式求值
算符优先法需要设立两个栈。(本来不应该是这两个单词,但是本教主觉得更加重要的是命名的易区分性)1. 寄存操作数的栈`nums`2. 寄存操作符的栈`opters`### 基本思想1. 首先置`nums`栈为空,表达式起始符`#`为`opters`栈的栈底元素2. 依次读入表达式中的每个字符,用`isOpters()`判断是否是操作数 1. 如果是操作数则进`nums`栈 2. 如果是操作符,则将栈顶元素和该操作符比较优先级(栈顶操作符和该操作符比较优先级)循环进行直到读取原创 2019-10-02 13:30:05 · 4601 阅读 · 2 评论 -
双向链表实现线性表
### 数据结构必知- 数据结构的逻辑结构分为集合结构、线性结构、树形结构、图形结构。- 数据结构的存储结构分为顺序结构、链式结构、索引结构、散列结构。- 常见的八大数据结构有数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、散列表(Hash)。原创 2019-05-08 22:43:19 · 748 阅读 · 0 评论 -
经典排序算法
在线排序算法模拟:[http://www.atool9.com/sort.php]( http://www.atool9.com/sort.php )原创 2019-04-30 17:17:35 · 373 阅读 · 0 评论