现在位置: 首页 > 算法
这是一个典型的错误思考方向。 错误的根源在于,把链表当成了一种整体的、不可分割不可更改的完整概念——然后,就着这个概念,考虑它的用途它的优点它的弱点,总结出一二三四然后背诵……完了。 完蛋。这叫买椟还珠。 实际上,讲链表是为了给你引出“借助后向指针(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...
阅读全文
2019-10-03 07:23 工业·编程 ⁄ 共 1782字 暂无评论
冒泡: 第i个元素与第 i+1个元素俩俩相比然后互换位置,第一次循环会把最大的元素挪到最后,第二次是把第二大的元素挪到倒数第二。。。。。每次都会把最大的元素不断往后冒,与选择排序刚好相反。复杂度:n^2 选择: 用第i个元素比较后面的所有元素,从前往后比较,一直找到最小的一个挪到最左边,其实就是替换i的位置,与冒泡排序相反,第一次能找到最小的元素,第二次能找到第二小的元素。。。。复杂度:n^2 插入: 从前往后...
阅读全文
一、顺序查找的基本思想 从表的一端开始,向另一端逐个按给定值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:&#...
阅读全文
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>...
阅读全文
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 ? ...
阅读全文