2020-06-15 18:50
⁄ 工业·编程
⁄ 共 2388字
这是一个典型的错误思考方向。
错误的根源在于,把链表当成了一种整体的、不可分割不可更改的完整概念——然后,就着这个概念,考虑它的用途它的优点它的弱点,总结出一二三四然后背诵……完了。
完蛋。这叫买椟还珠。
实际上,讲链表是为了给你引出“借助后向指针(next)组织数据”这么一个设计思路;同时借助这个思路完成一个典型的应用案例、学着分析它的空间/时间复杂度……
然后,马上领着你变换它、变形它、改进它……
比如,加上一...
数据结构, 算法阅读全文
2020-05-13 06:44
⁄ 工业·编程
⁄ 共 1206字
双栈队列的原理是用两个栈结构模拟一个队列, 一个栈A模拟队尾, 入队的元素全部压入此栈, 另一个栈B模拟队首, 出队时将栈A的元素弹入栈B, 将栈B的栈顶元素弹出
此结构类似汉诺塔, 非常经典, 这里附上C++代码简单实现, 有问题欢迎指出。
#include <stack>
template <typename T> class CStkQueue { public: T queuePop(); &...
算法阅读全文
2020-02-04 19:15
⁄ 工业·编程
⁄ 共 10625字
1、分布式系统对fault tolerence的一般解决方案是state machine replication(状态机复制)。
2、分布式一致性算法的一种更准确的说法应该是:state machine replication的共识(consensus)算法。
3、pasox其实是一个共识算法。系统的最终一致性,不仅需要达成共识,还会取决于client的行为。
4、分布式系统中有多个节点就会存在节点间通信的问题,存在着两种节点通讯模型:共享内存(Shared memory)、消息传递(Messages pas...
Paxos, Raft, ZAB, 算法阅读全文
2019-10-03 07:23
⁄ 工业·编程
⁄ 共 1782字
冒泡:
第i个元素与第 i+1个元素俩俩相比然后互换位置,第一次循环会把最大的元素挪到最后,第二次是把第二大的元素挪到倒数第二。。。。。每次都会把最大的元素不断往后冒,与选择排序刚好相反。复杂度:n^2
选择:
用第i个元素比较后面的所有元素,从前往后比较,一直找到最小的一个挪到最左边,其实就是替换i的位置,与冒泡排序相反,第一次能找到最小的元素,第二次能找到第二小的元素。。。。复杂度:n^2
插入:
从前往后...
算法阅读全文
2019-01-31 11:20
⁄ 工业·编程
⁄ 共 2352字
一、顺序查找的基本思想
从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。
说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。
【适用性】适用于线性表的顺序存储结构和链式存储结构。
平均查找长度=(n+1)/2.
【顺序查找优缺点】
缺点:是...
算法阅读全文
2016-04-13 17:03
⁄ 工业·编程
⁄ 共 5017字
Spotify是全球最大的正版流媒体音乐服务平台,2008年10月在瑞典首都斯德哥尔摩正式上线。Spotify提供的服务分为免费和付费两种,免费用户在使用Spotify的服务时将被插播一定的广告。而付费用户则没有广告,且可以拥有更好的音质,在移动设备上使用时也可以拥有所有的功能。截止到2015年6月,Spotify已经拥有超过7500万的用户,其中1500万为付费用户。
每个周一,7500万Spotify用户都会收到了一卷新的混音带,这是由Spotify的Dis...
算法阅读全文
2016-01-09 21:36
⁄ 工业·编程
⁄ 共 8944字
说明:
定义了两个类,一个是_Matrix,这是一个二维矩阵类,定义了初始化的方法.另一个是_Matrix_Calc,这个类定义了矩阵的基本运算,包括加,减,乘,转置,求行列式值,求逆矩阵.
源代码:
_Matrix.h: #ifndef _MATRIX_H #define _MATRIX_H //头文件 #include <stdio.h> #include <stdlib.h> //矩阵数据结构 //二维矩阵 class _Matrix { private:...
c++, 代码集锦, 算法阅读全文
2016-01-08 12:46
⁄ 工业·编程
⁄ 共 9777字
matrix.h: #ifndef _MATRIX_H #define _MATRIX_H //头文件 #include <stdio.h> #include <stdlib.h> //矩阵数据结构 //二维矩阵 struct _Matrix { int m; ...
代码集锦, 算法阅读全文
2015-12-10 23:53
⁄ 工业·编程
⁄ 共 5104字
CRC32校验网上有现成的方法,这里不再赘述,直接拿来用。编码时发现,如果文件名中存在中文字符,加载文件时会导致错误,这问题一定能解决,不过为了省事我直接要求所有文件路径必须是英文的。另外,为了由于我的代码是要在arm板子上用的,一次只能加载100个字节,而且最大文件不能超过2MB,所以我的dialog完整代码为:
#include "dialog.h" #include "ui_dialog.h" #include <QFile>...
CRC, Qt, 算法阅读全文
2015-12-09 23:47
⁄ 工业·编程
⁄ 共 455字
QByteArray MainWindow::gemfieldCRC(QByteArray gemfield)
{
QByteArray temp;
unsigned short crc=0xffff;
unsigned short a,j,k;
for(a=0;a<gemfield.size();a++)
{
//crc和第a个字节里的值异或,新值赋给crc.
// 注意gemfield[a]在转换为int型时是有符号的,因此,我们在其值大于7F时,需要做相应的转换处理。你懂的。
crc =crc ^ ( (int)gemfield[a]>=0 ? ...
CRC, Qt, 算法阅读全文