<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>计算机科学 &#8211; 君子不器</title>
	<atom:link href="https://www.colinjiang.com/archives/tag/%e8%ae%a1%e7%ae%97%e6%9c%ba%e7%a7%91%e5%ad%a6/feed" rel="self" type="application/rss+xml" />
	<link>https://www.colinjiang.com</link>
	<description>Colin Jiang的博客</description>
	<lastBuildDate>Tue, 19 Jan 2021 09:04:33 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>《算法图解》读书笔记</title>
		<link>https://www.colinjiang.com/archives/after-reading-grokking-algorithms.html</link>
					<comments>https://www.colinjiang.com/archives/after-reading-grokking-algorithms.html#comments</comments>
		
		<dc:creator><![CDATA[Colin]]></dc:creator>
		<pubDate>Fri, 21 Aug 2020 14:46:32 +0000</pubDate>
				<category><![CDATA[读书笔记]]></category>
		<category><![CDATA[计算机科学]]></category>
		<category><![CDATA[code]]></category>
		<guid isPermaLink="false">https://www.colinjiang.com/?p=5114</guid>

					<description><![CDATA[一、信息 [200821]《算法图解》 /作者: [美] Aditya Bhargava / 人民邮电出版社2 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h4 class="wp-block-heading">一、信息</h4>



<p class="wp-block-paragraph">[200821]《算法图解》 /作者: [美] Aditya Bhargava / 人民邮电出版社<br>2020阅读目标达成：12/30</p>



<h4 class="wp-block-heading">二、简评</h4>



<p class="wp-block-paragraph">★★★★★ 看过《我的第一本算法书》后又看的这本《算法图解》，这本书明显更加系统化、更加生动一些。虽然不是程序员或工作相关，了解算法对于锻炼自己的思维还是很有帮助的。</p>



<h4 class="wp-block-heading">三、摘录</h4>



<p class="wp-block-paragraph">下面按从快到慢的顺序列出了你经常会遇到的5种大O运行时间。</p>



<ul class="wp-block-list"><li>O(log n)，也叫对数时间，这样的算法包括二分查找。 </li><li>O(n)，也叫线性时间，这样的算法包括简单查找。</li><li>O(n * log n)，这样的算法包括第4章将介绍的快速排序——一种速度较快的排序算法。</li><li>O(n2)，这样的算法包括第2章将介绍的选择排序——一种速度较慢的排序算法。 </li><li>O(n!)，这样的算法包括接下来将介绍的旅行商问题的解决方案——一种非常慢的算法。</li></ul>



<p class="wp-block-paragraph">我很喜欢Leigh Caldwell在Stack Overflow上说的一句 话： “如果使用循环， 程序的性能可能更高； 如果使用递归， 程序可能 更容易理解。 如何选择要看什么对你来说更重要。 ”</p>



<p class="wp-block-paragraph">使用栈虽然很方便， 但是也要付出代价： 存储详尽的信息可能占用大量 的内存。 每个函数调用都要占用一定的内存， 如果栈很高， 就意味着计 算机存储了大量函数调用的信息。 在这种情况下， 你有两种选择。 重新编写代码， 转而使用循环。 使用尾递归 。 这是一个高级递归主题， 不在本书的讨论范围内。 另外， 并非所有的语言都支持尾递归 递归指的是调用自己的函数。 每个递归函数都有两个条件： 基线条件和递归条件。 栈有两种操作： 压入和弹出。 所有函数调用都进入调用栈。 调用栈可能很长， 这将占用大量的内存。</p>



<p class="wp-block-paragraph">Facebook实际使用的是什么呢？很可能是十多个数据库，它们基于众多不同的数据结构：散列表、B树等。数组和链表是这些更复杂的数据结构的基石。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.colinjiang.com/archives/after-reading-grokking-algorithms.html/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>《我的第一本算法书》读书笔记</title>
		<link>https://www.colinjiang.com/archives/after-reading-my-first-algorithm-book.html</link>
					<comments>https://www.colinjiang.com/archives/after-reading-my-first-algorithm-book.html#comments</comments>
		
		<dc:creator><![CDATA[Colin]]></dc:creator>
		<pubDate>Sun, 09 Aug 2020 08:00:32 +0000</pubDate>
				<category><![CDATA[读书笔记]]></category>
		<category><![CDATA[计算机科学]]></category>
		<guid isPermaLink="false">https://www.colinjiang.com/?p=5108</guid>

					<description><![CDATA[一、信息 [200808]《我的第一本算法书》 / [日]石田保辉 / [日]宮崎修一 / 人民邮电出版社20 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h4 class="wp-block-heading">一、信息</h4>



<p class="wp-block-paragraph">[200808]《我的第一本算法书》 / [日]石田保辉 / [日]宮崎修一 / 人民邮电出版社<br>2020阅读目标达成：11/30</p>



<h4 class="wp-block-heading">二、简评</h4>



<p class="wp-block-paragraph">★★★★☆ 书写的很生动，但是对于没有基础的人来说还是有些烧脑，配合的app《算法动画图解》理解起来会更容易一些，最好能够一遍实践，一遍学习，效果是最好的。</p>



<h4 class="wp-block-heading">三、要点</h4>



<p class="wp-block-paragraph"><strong>数据结构：</strong></p>



<ul class="wp-block-list"><li>链表：其中的数据分散存储在内存空间中，数据的访问必须顺序访问，而删除和添加较为方便。</li><li>数组：数据储存在连续空间中，数据的访问简单，添加和删除数据较为麻烦。</li><li>栈：后进先出的数据结构形式。</li><li>堆：一种图的树形结构。</li><li>队列：先进先出的数据结构形式</li><li>哈希表：Key-Value形式的数据结构</li><li>二叉查找树：采用图的树形结构</li></ul>



<p class="wp-block-paragraph"><strong>排序：</strong></p>



<ul class="wp-block-list"><li>冒泡排序：从序列右边开始比较相邻两个数字的大小，再根据结果交换两个数字的位置。</li><li>选择排序：从待排序的数据中寻找最小值，将其与序列最左边的数字进行交换。</li><li>插入排序：从序列左端开始依次对数据进行排序。</li><li>堆排序：利用堆这种树形结构进行排序。</li><li>归并排序：序列分成长度相同的两个子序列，当无法继续往下分时（也就是每个子序列中只有一个数据时），就对子序列进行归并。</li><li>快速排序：首先会在序列中随机选择一个基准值（pivot），然后将除了基准值以外的数分为“比基准值小的数”和“比基准值大的数”这两个类别，再对比基准值小的数和比基准值大的数进行快速排序。</li></ul>



<p class="wp-block-paragraph"><strong>数组的查找</strong></p>



<ul class="wp-block-list"><li>线性查找　</li><li> 二分查找　</li></ul>



<p class="wp-block-paragraph"><strong>图的搜索，安全算法，聚类和其他算法</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.colinjiang.com/archives/after-reading-my-first-algorithm-book.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>《白话区块链》读后感：去中心化的模式</title>
		<link>https://www.colinjiang.com/archives/after-reading-vernacular-blockchain.html</link>
					<comments>https://www.colinjiang.com/archives/after-reading-vernacular-blockchain.html#respond</comments>
		
		<dc:creator><![CDATA[Colin]]></dc:creator>
		<pubDate>Sat, 07 Dec 2019 08:02:02 +0000</pubDate>
				<category><![CDATA[读书笔记]]></category>
		<category><![CDATA[计算机科学]]></category>
		<guid isPermaLink="false">https://www.colinjiang.com/?p=4542</guid>

					<description><![CDATA[一、信息 [191207]《白话区块链》/蒋勇、 文延&#160;、嘉文 / 机械工业出版社 2019阅读目标 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h4 class="wp-block-heading">一、信息</h4>



<ul class="wp-block-list"><li>[191207]《白话区块链》/蒋勇、 文延&nbsp;、嘉文  / 机械工业出版社</li><li>2019阅读目标达成：18/20</li></ul>



<h4 class="wp-block-heading">二、简评</h4>



<p class="wp-block-paragraph"> ★★★★☆ 区块链去中心化的，是摆脱传统的服务器模式，每个节点都是独立的全部。这也说明了它也有它的弊端，并不是适合所有的业态。要学习区块链思想，但不要神化区块链。这本书叫白话区块链，但是其实也需要有一点技术基础的，外行人看着会很累，但是看完之后，对于区块链的原理还是会有大概的感知的。</p>



<h4 class="wp-block-heading">三、导图</h4>



<p class="wp-block-paragraph"> 第1章 初识区块链 </p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx2.sinaimg.cn/mw690/bd5e86b2ly1g9o7p2228lj20od0zk0vy.jpg" alt=""/></figure>



<p class="wp-block-paragraph">第2章 区块链应用发展</p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx4.sinaimg.cn/mw690/bd5e86b2ly1g9o7p2c5cbj20p00zf0v8.jpg" alt=""/></figure>



<p class="wp-block-paragraph">第3章 区块链骨骼：密码算法</p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx1.sinaimg.cn/mw690/bd5e86b2ly1g9o7p34cqlj20p00f9gmr.jpg" alt=""/></figure>



<p class="wp-block-paragraph">第4章 区块链灵魂：共识算法</p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx2.sinaimg.cn/mw690/bd5e86b2ly1g9o7p3oye3j20p00sx40m.jpg" alt=""/></figure>



<p class="wp-block-paragraph"> 第5章 区块链扩展：扩容、侧链和闪电网络 </p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx4.sinaimg.cn/mw690/bd5e86b2ly1g9o7p41308j20p008adgo.jpg" alt=""/></figure>



<p class="wp-block-paragraph"> 第6章 区块链开发平台：以太坊 </p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx1.sinaimg.cn/mw690/bd5e86b2ly1g9o7p4atrtj20p00auq41.jpg" alt=""/></figure>



<p class="wp-block-paragraph"> 第7章 区块链开发平台：超级账本 </p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx4.sinaimg.cn/mw690/bd5e86b2ly1g9o7p4j1c4j20p008x0tm.jpg" alt=""/></figure>



<p class="wp-block-paragraph"> 第8章 动手做个实验：搭建微链 </p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://wx2.sinaimg.cn/mw690/bd5e86b2ly1g9o7p4rvbyj20p00etq46.jpg" alt=""/></figure>



<p class="wp-block-paragraph"> 第9章 潜在的问题<br> </p>



<figure class="wp-block-image size-large"><img decoding="async" src="http://wx1.sinaimg.cn/mw690/bd5e86b2ly1g9o7p1t2nxj20p00d6myr.jpg" alt=""/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.colinjiang.com/archives/after-reading-vernacular-blockchain.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
