- 博客(14)
- 收藏
- 关注
原创 图的遍历——BFS 与 DFS 深度优先和广度优先搜索|图论算法
问题引入有一天,你穿越到Clannad(炒鸡好看的游戏与番剧)的小镇。你知道小镇上的每个地方与每条路。小镇的某些地方可能会藏有实现愿望的光玉。现在你要出发去收集小镇上所有的光玉。如图:假设小镇中一个地方对应这张图的一个结点,你的出生点在古河面包店(0号位置),据题意,你需要一个地点都不落地走完整张图,这样才能收集完所有光玉。BFS广度优先搜索(Breadth First Search):属于一层一层地扩展,每次到一个点后,把这个点其他相邻点都记录下来,作为下一层的待访问结点。
2020-06-18 10:24:01 362
转载 使用Python进行并发编程
线程(Thread)多线程几乎是每一个程序猿在使用每一种语言时都会首先想到用于解决并发的工具(JS程序员请回避),使用多线程可以有效的利用CPU资源(Python例外)。然而多线程所带来的程序的复杂度也不可避免,尤其是对竞争资源的同步问题。然而在python中由于使用了全局解释锁(GIL)的原因,代码并不能同时在多核上并发的运行,也就是说,Python的多线程不能并发,很多人会发现使用多线...
2020-02-12 15:33:40 520
原创 单链表的结构体定义与声明
在用代码描述单链表之前,我们需要定义一个结构体来描述单链表的结点。typedef struct Node{ ElemType data; struct Node *next;}Node;typedef struct Node *LinkList; /* 定义LinkList */B:从这个结构定义中,我们知道,结点由存放数据元素的数据域存放后继结点地址的指针域组成。...
2019-09-11 17:34:07 8264 1
转载 使用VISA编程入门教程
概述下图示出对具有VISA的仪器进行控制的流程。当用可视Basic语言(Visual Basic languagee)开发VISA程序时,必须回顾一个特殊的编程注意事项(在下面列出的自述文本文件中)。有关VISA程序库的利用以及利用带有E5071A宏程序(E5071A VBA)的VISA的编程注意事项的详情,请参考包含在IO程序库光盘(CD-ROM)上的下列文件。 visa.hlp...
2019-05-07 11:52:51 9840 1
转载 Python之threading多线程
1、threading模块是Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,先说一下线程和进程的各种区别,如图概括起来就是IO密集型(不用CPU) 多线程计算密集型(用CPU) 多进程使用线程和进程的目的都是为了提升效率(1)单进程单线程,主进程、主线程(2)自定义线程: 主进程 主线程...
2019-04-12 20:26:45 235
转载 VB Socket通信函数
对网络知识有所遗忘的话,可以先简单补习一下“套接字”概念,再来看这些函数就会觉得他们的用途很好理解,如果想更详细的学习,可以参看Socket通信原理。关于各函数返回值,可以参看socket函数返回值分析。一,服务器与客户机交互 先简单俯瞰一下目前最常用的方法:服务程序在一个众所周知的地址(其中包括端口信息)监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个...
2019-04-12 17:47:27 4433 1
转载 Socket通信原理
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Con...
2019-04-12 14:13:35 274
转载 i2c学习笔记
1.1I2C总线知识1.1.1 I2C总线物理拓扑结构I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。I2C通信方式为半双工,只有一根SDA线,同一时间只...
2019-03-28 21:06:06 542
转载 VBA Controls.Add 详解
Add 方法的语法包括以下成分:成分 说明 object 必需。一个有效对象名。 Name 可选。指定被添加的对象的名称。如果没有指定名称,系统将根据使用该窗体的应用程序的规则,产生一默认的名称。 Caption 可选。指定在标签或控件上出现的题注。如果没有指定题注,系统将根据使用该窗体的应用程序的规则,产生一默认的题注。 index 可选。表示页或标签在 Pages 或 Tab...
2019-02-21 09:45:37 9654 1
转载 DDR学习笔记---DDR3基本知识
首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。 DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格...
2018-11-28 09:51:27 17987
转载 DDR学习笔记--基本概念
DDR3中bank, 16bit和32bit等概念最近在看内存相关的东东。以前认为内存就是块资源,需要的时候,malloc出来一部分使用即可。对内部的东东没有深入了解过。刚开始看起来,感觉有点丈二和尚。通过各种查询,并请教牛人,对基本概念有了个初步了解,先总结一把。先说说bank。看到bank首先想到了银行,然后是利率,然后是房贷...扯远了,这儿的bank是存储库的意思。也就...
2018-11-28 09:46:22 1268
转载 C++ 学习笔记 typedef的简单使用指南
一.基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。二.用法(1)用typedef声明一个新类型名来代替已有的类型名。如:typede...
2018-11-25 17:17:41 150
转载 C++学习笔记 ::在C++中是什么意思
表示作用域,和所属关系::是运算符中等级最高的,它分为三种:1)global scope(全局作用域符),用法(::name)2)class scope(类作用域符),用法(class::name)3)namespace scope(命名空间作用域符),用法(namespace::name)他们都是左关联(left-associativity)他们的作用都是为了更明确的调用你想要的...
2018-11-25 14:58:06 1333 4
转载 C++ 学习笔记-友元函数和友元类(C++ friend)详解
私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。C++ 是从结构化的C语言发展而来的,需要照顾结构化设计程序员的习惯,所以在对私有成员可访问范围的问题上不可限制太死。C++ 设计者认为, 如果有的程序员真的非常怕麻烦,就是想在类的成员函数外部直接访问对象的私...
2018-11-25 14:51:07 933
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人