C#泛型

C#泛型

Usage of bit operation

位运算的用法

除了逻辑运算,位运算也是编程中常用的运算,但是很多人对于位运算知之甚少。一个原因是因为位运算的用法很零碎,并且有的用法涉及计算机底层的原理所以理解起来比较困难。但是位运算是效率很高的一种运算,特别是在编写单片机的程序时,活用位运算可以节约内存资源和单片机有限的算力。

Divide-and-Conquer

递归分治算法(1)

孙子兵法有云:“十则围之,五则攻之,倍则分之,敌则能战之,不若则能避之”,这句话的意思是说,十倍的兵力就合围;五倍的兵力就强攻;两倍的兵力就分散敌人,逐个击破;能打就打,不能打就跑——在不同的兵力下,有不同的应对策略。将兵法应用于编程:当计算能力足够的情况下,我们可以采取暴力的方法求解问题,但是当计算能力不足的时候,我们应该将问题分割,逐个求解,这也就是分治的思想。但是“Divide and rule, a sound motto,. Unite and lead, a better one”,翻译过来就是:分而治之是至理名言,和而御之却更显明智。分治算法的难点并不在于分而在于和,分的策略可能有很多种,但是如果分完后不能合起来那就是失败的。

Graphic of Typora

流程图示例

在很多时候,图表能帮助我们更好地传达我们想表述的意思,也更加的直观,因此我们有必要学会各种绘图的技巧。这篇博客将介绍如何使用Typora绘制各种图(流程图、序列图、甘特图)。

three ways of coding

三种编码方式:原码、反码、补码

学过大学计算机基础的人可能对原码、反码、补码有所了解,但是对于三种编码的意义一脸懵逼或是一知半解,本文希望能透彻的讲清楚三者的意义及联系。清楚地理解原码、反码、补码的概念对于编写嵌入式开发的程序有着巨大的帮助。

指针的使用

指针的用法

指针在C语言中的地位就好比反射之于java/C#,起着十分重要的作用。指针能让萌新落泪,让大神起飞,让C语言屹立不倒。正是指针的存在让C语言变得十分灵活但同样也带来了一些令程序员头疼的问题。

Web Spider_1

网络爬虫入门教程(1)

刚入门网络爬虫,期望通过三篇博客来总结一下入门级爬虫程序的写法,希望能给那些想要入爬虫这个坑的人提供一些帮助。为了结构化的介绍爬虫,将分为:http协议、网络爬虫代码构建、内容提取三篇博客进行全面的讲解。

注:写爬虫要遵守相关法规,不能侵犯他人著作权!!!(简单的来说免费的网站都能爬,付费的很难爬也不能以此盈利,否则有前车之鉴,千万赔偿劝退)