搜索算法是非常常用的算法,用于检索存储在某些数据结构中的信息。最简单直接的就是暴力搜索,也就是线性搜索,但它的时间复杂度较高,在实际工程应用中很少使用,需要对它进行优化。

比如二分查找,贪心算法等搜索算法,在算法笔记:树、堆和图中,提到了对图和二叉树的搜索算法:深度优先搜索(DFS)和广度优先搜索(BFS),如果知道起点和终点状态的情况下,还可以使用双向BFS。DFS和BFS根据特定的顺序进行依次搜索,效率也不高,启发式搜索(heuristic search)也就是A*算法引入估价函数进一步提升了搜索效率,这些算法应用于各种场景中,本文介绍在树和图中常用的深度优先和广度优先搜索算法。

阅读全文 »

typora是一个非常易用且免费的markdown编辑器,是我最常用的文档编辑器。它支持实时渲染,不用打开两个窗口(源码窗口和预览窗口),真正实现了沉浸式写作,所谓所见即所得。它的界面简洁,操作简单,非常容易上手,这里就不介绍了。本文主要介绍Typora的主题配置,实现公众号一键排版。

阅读全文 »

hash函数是根据关键字key计算出应该存储地址的位置,哈希函数把key转成哈希值来定位数据存储的位置,是基于哈希函数建立的一种查找表,Python 中的字典就是用哈希表来实现的。本文主要介绍哈希表、映射和集合这三种数据结构以及他们在python中用法。

阅读全文 »

最近,文化产业又引来一次税务风暴,记得上一次还是2018年的范冰冰事件,导致华谊兄弟市值大幅缩水,当时作为一个吃瓜群众,倒是喜闻乐见。这次由郑爽引起的税务风暴让我无法淡定了,先来回顾一下这个所谓的“郑爽天价片酬事件”。

阅读全文 »

Unix shell 中内置了命令行参数解析函数getopts,但它仅支持简单的参数解析,不支持长参数,getopt是getopts的增强版,支持长参数。在Python笔记:命令行参数解析中介绍了Python中的命令行参数解析方法getopt(),本文介绍shell中如何使用getopt进行命令行参数解析。

阅读全文 »

通货膨胀指整体物价水平上升,货币贬值、购买力下降。通货膨胀率一般通过居民消费价格指数CPI来反映,今年三月我国的CPI同比上涨0.4%,由于疫情原因,去年3月CPI上涨达到了4.3%,物价飞涨。

阅读全文 »

有些时候我们需要通过命令行将参数传递给脚本,C语言中有个getopt()方法,python中也有个类似的命令行参数解析方法getopt()。python也提供了比getopt()更简洁的argparse方法。另外,sys模块也可以实现简单的参数解析,本文将对这3种命令行参数解析方法简要介绍。

阅读全文 »