![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
yuanxuaner
感觉自己帅帅的
展开
-
图的遍历——BFS 与 DFS 深度优先和广度优先搜索|图论算法
问题引入有一天,你穿越到Clannad(炒鸡好看的游戏与番剧)的小镇。你知道小镇上的每个地方与每条路。小镇的某些地方可能会藏有实现愿望的光玉。现在你要出发去收集小镇上所有的光玉。如图:假设小镇中一个地方对应这张图的一个结点,你的出生点在古河面包店(0号位置),据题意,你需要一个地点都不落地走完整张图,这样才能收集完所有光玉。BFS广度优先搜索(Breadth First Search):属于一层一层地扩展,每次到一个点后,把这个点其他相邻点都记录下来,作为下一层的待访问结点。原创 2020-06-18 10:24:01 · 319 阅读 · 0 评论 -
使用Python进行并发编程
线程(Thread)多线程几乎是每一个程序猿在使用每一种语言时都会首先想到用于解决并发的工具(JS程序员请回避),使用多线程可以有效的利用CPU资源(Python例外)。然而多线程所带来的程序的复杂度也不可避免,尤其是对竞争资源的同步问题。然而在python中由于使用了全局解释锁(GIL)的原因,代码并不能同时在多核上并发的运行,也就是说,Python的多线程不能并发,很多人会发现使用多线...转载 2020-02-12 15:33:40 · 493 阅读 · 0 评论 -
单链表的结构体定义与声明
在用代码描述单链表之前,我们需要定义一个结构体来描述单链表的结点。typedef struct Node{ ElemType data; struct Node *next;}Node;typedef struct Node *LinkList; /* 定义LinkList */B:从这个结构定义中,我们知道,结点由存放数据元素的数据域存放后继结点地址的指针域组成。...原创 2019-09-11 17:34:07 · 8200 阅读 · 1 评论