- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 一文解答你关于“轨道问题”的所有疑问!(有环链表问题)
问题描述:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回NULL。我看过很多博客,对于最优解法的解释无非两个字,神奇,并没有说明如何构思出这样的思路。这篇文章是我看过《Elements of programming》相关分析后,结合题目总结出的解题思路,教给你如何构思快慢指针的思路,认真看完一定会有收获的。
2020-03-19 11:34:39
1602
7
原创 手把手教你写出正确的二分搜索!
写出正确的二分搜索知易行难,原理好像都懂,但是实际上手就出各种错误,例如如何确定循环终止条件、区间搜小判断条件等。这里就手把手教你写出正确的二分检索!
2020-02-22 15:37:06
437
2
原创 整理库函数依赖关系
问题:现有一函数库,这里是lapack3.5。lapack提供的每一个函数API都单独是一个.c。请给出这些API的相互调用关系。间接调用也要统计,循环调用(如果可能的话)不计。进一步的,如果给定一个搜索范围,即只要求其中一些函数API的相互调用关系,又该怎么做?思路:linux下使用nm命令即可查看二进制文件符号表。根据不同函数的符号表确定调用关系,得到一个图数据结构。针对要调研的API,以...
2019-10-15 19:42:20
655
原创 计算机领域依赖关系
对计算机中领域大概分层了,不完全对,比如数字电路和数学的关系没那么强。体系结构中也是有算法设计的,比如动态指令调度算法Tomasulo算法,乘法算子的两位booth算法,华莱士树。体系结构中也有数据结构,比如ROB,待发射指令队列,MIPs处理器对TLB的支持寄存器等。但是我们这里第5层说的是针对特定应用的算法。算法和数据结构对数学的要求还是很高的,高效的算法和数据结构离不开扎实的数学功底...
2019-05-11 10:20:03
1376
原创 《Bandwidth Reduced Parallel SpMV on the SW26010 Many-Core Platform》读后笔记
核心思路:1)通过轻工作量的预处理阶段,把矩阵A纵向从上到下分割成一个个的row-slice,划分后每个row-slice中的非零元个数大致相同。每个row-slice由一个CPE单独计算。2)计算一个row-slice时,读取相应的x时使用动态前向规划技术避免取到无用的x,降低了带宽。3)对CPE进行划分,同组CPE可以共享所需要的x,可进一步降低带宽。4)设计了parameter ...
2019-04-24 18:51:03
433
原创 《Towards Efficient SpMV on Sunway Many-core Architectures 》读后笔记
记待解问题为y = Ax,采用了CSR格式存储矩阵。核心思路:多级数据并行。具体分为两方面,待计算数据的划分和计算核的划分。下面分3部分进行说明1)对稀疏矩阵进行三级数据划分,如右图所示。设矩阵规模为M×N,则第一级数据划分是把矩阵纵向从上到下分割成规模为θ×N的块,共有M/θ个(原文此图最后一个块的下标错误)。第二级数据划分是把一个block横向从左到右划分为规模为θ×δ的Tile,共有...
2019-04-24 18:46:19
373
原创 用了这些工具,让你的win10生产力爆表
1.Listary超级好用的的windows搜索工具,搜索速度快,并且具有体积小,免费、解压即用等优点的绿色软件,官网下载安装包即可。使用这个软件之后,你再也不会点开我的电脑,然后一层一层打开文件夹找到需要的文件,极大提高了生产效率。2.MaxTo分屏软件,提高屏幕使用效率,即便只有一块屏幕,也能用出多块屏幕的效果。使用简单,规定好分屏比例之后,即可将不同的软件放置在规定的窗格中。...
2019-04-22 19:35:19
4964
2
原创 《A synchronization-free algorithm for parallel sparse triangular solves》读后总结
正式读研之后看的第一篇文献。本着“只有记录下来的才是自己的”这一原则,记录一下。论文提出的方法用来解决多元一次方程组中系数矩阵为下三角的情况(Lx = b中,L为下三角矩阵)如上图所示,对应的方程组如下“a(0,0)x0 = b0a(1,1)x1 = b1a(2,1)x1 + a(2,2)x2 = b2...a(4,1)x1+a(4,2)x2+a(4,3)x3+a(...
2018-11-08 22:32:05
454
原创 WIN10+MX150+VS2013安装CUDA9.2
记录一下在自己PC上安装cuda的过程。OS是win10,IDE为VS2013,显卡为GeForce MX150。(驱动版本24.21.13.9882)1.首先确认自己系统的显卡可用。打开设备管理器,找到显示适配器,查看显卡是否可以工作。如果驱动错误,那么会显示叹号,如下图双击之后查看属性,显示如下比较迷的是MX150写这篇博客时候也出来没多久,最新的驱动居然是这样的结果。。。...
2018-09-20 11:12:51
7514
5
原创 thinkpad T480s使用体验
7月13号海淘入手thinkpad T480s,历时大概一个月8月11号到手,到目前使用两周,这里记录一下使用体验。之前本科时代用的电脑实在辣鸡,但是它陪伴了我整个本科时代,从来没有掉过链子,我很感谢它,这里要对它说声幸苦了。下面进入正题。1.外观T480s给我的第一感觉是精致的,不管是合上盖子拿在手里还是放在桌上打开盖子,都是精致的。拿在手里很薄很轻,打开盖子以后,B面和C面做工...
2018-08-26 22:43:52
15153
原创 《Turbo iso: towards ultrafast and robust subgraph isomorphism search in large graph databases》读后笔记
这篇论文提出了用来解决子图同构问题的turboISO算法,这是我的读后笔记
2018-04-19 19:23:02
958
原创 记录一次排查提示段错误bug的过程
这次记录的是一次改bug的过程。现象:程序编译能通过,运行到某一步之后崩掉,然后报段错误core dump,文件夹下多出core.pid的文件。程序中使用了一个类库,vflib。排查过程:第一步是百度,首先查到core dump的错误一般是内存错误,而且运行出错的地方往往不是导致错误的地方,应该是内存非法访问等等的问题。用Boss的话说,比较模糊。。。第二步是单步调试,几乎一句代码一个...
2018-01-04 21:05:22
522
原创 《A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs》论文总结
解决子图同构的VF2算法论文的理解
2017-11-19 10:36:57
1883
1
翻译 迭代求子图同构
根据http://theory.stanford.edu/~virgi/cs267/lecture1.pdf论文第二部分的伪代码实现出来的C++实现代码,有改动,原文第5步没有还原。#include#include#includeusing namespace std;#define MATRIX vector>#define DEBUGvector getDegree(MAT
2017-11-08 16:23:50
409
原创 DFS求子图同构
#include#includeusing namespace std;#define MATRIX vector>vector getDegree(MATRIX m){ int p = m.size(); vector degree(p, 0); for (int i = 0; i < p; i++){ for (int j = 0; j < p; j++){ deg
2017-11-08 16:20:53
529
2
原创 《An Algorithm for Subgraph Isomorphism》论文总结
人生第一次看论文,用时4天,这里记录一下论文大体内容和自己的理解与对算法的修改。论文链接http://theory.stanford.edu/~virgi/cs267/lecture1.pdf子图同构的概念请自行了解,可以百度可以看wiki。通俗的讲两个图同构的意思就是对其中一张图的结点重新编号以后,两张图长的一样。也可以说是一种对应关系,只要点与点的对应关系合适,那么两张图的邻接矩阵一样
2017-11-08 15:43:14
1758
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人