作者和本书概要
弗兰西斯·培根(Francis Bacon,1561–1626)是英国文艺复兴时期最伟大的哲学家和文学家,“英国唯物主义和整个现代实验科学的真正鼻祖”。
豆瓣:《培根随笔》
内容
论真理
真正可怕的,并不是那种人人都难以避免的一念之差,而是那种深入习俗、盘踞于人心深处的谬误与偏见。
论死亡
“死亡是大自然赐给人类的一种恩惠。”
一个坚定执著、有信念的心灵不会因对死亡的畏惧而陷入恐怖。
AndyRon's Blog
弗兰西斯·培根(Francis Bacon,1561–1626)是英国文艺复兴时期最伟大的哲学家和文学家,“英国唯物主义和整个现代实验科学的真正鼻祖”。
豆瓣:《培根随笔》
真正可怕的,并不是那种人人都难以避免的一念之差,而是那种深入习俗、盘踞于人心深处的谬误与偏见。
“死亡是大自然赐给人类的一种恩惠。”
一个坚定执著、有信念的心灵不会因对死亡的畏惧而陷入恐怖。
爱默生(Ralph Waldo Emerson), 美国思想家、文学家,诗人。爱默生是确立美国文化精神的代表人物。
豆瓣:《爱默生随笔》
成熟的年龄和迂腐的学识会使人类的花样年华逐渐凋零。
在思想或是真理的天空下,看任何事物都是美好的。在记忆的天空下,看每一段人生经历中的任何事物,则总是苦涩的。仔细地体味总是充满伤感,而热情的计划总是让人充满希望,感觉崇高。
真挚情感的最初流露与和谐仁爱是人的天性中最为迷人的风景。
爱的世界永远是人创造的,如果不尝试着去收回那些违背人性、诋毁社会本能的言语,理性而无情的哲学家们决不可能描述出每一个彷徨于此的年轻心灵所蒙受到的爱情恩惠。
世间的一切,无论已知还是未知,都已巧妙地融入男人和女人这一对机体当中了。本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Boyer-Moore String Search
Boyer-Moore字符串搜索(Boyer-Moore String Search)
这个主题已经有教程 here
目标:在纯Swift中编写字符串搜索算法,而无需导入Foundation
或使用NSString
的rangeOfString()
方法。
换句话说,我们想在String
上实现一个indexOf(pattern:String)
扩展,它返回在字符串里面第一次出现搜索模式的String.Index
,如果找不到模式则返回nil
。
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Brute-Force String Search
暴力字符串搜索(Brute-Force String Search)
如果不允许导入Foundation
并且不能使用NSString
的rangeOfString()
方法,那么如何在纯Swift中编写字符串搜索算法呢?
目标是在String
上实现indexOf(pattern: String)
扩展,返回第一次出现的搜索模式的String.Index
,如果在字符串中找不到模式,则返回nil
。
例子:
1 | // Input: |
注意: 牛的索引是6,而不是你想象的3,因为字符串为表情符号使用更多的存储空间。
String.Index
的实际值并不那么重要,只要它指向字符串中的正确字符。
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Heap Sort
堆排序(Heap Sort)
使用堆将数组从低到高排序。( 译注: 也可以从高到低排序)
堆是一个部分排序的二叉树,存储在数组中。 堆排序算法利用堆的结构来执行快速排序。
要从最低到最高排序,堆排序首先将未排序的数组转换为max-heap,让数组中的第一个元素是最大的。
假设,需要排序的数组为:
[ 5, 13, 2, 25, 7, 17, 20, 8, 4 ]
首先变成了一个如下所示的max-heap:
本文是我学习《iOS Animations by Tutorials》 笔记中的一篇。
文中详细代码都放在我的Github上 andyRon/LearniOSAnimations。
UIViewPropertyAnimator
是从iOS10开始引入,它能够创建易于交互,可中断和/或可逆的视图动画。
这个类让某些类型的视图动画更容易创建,值得学习。
UIViewPropertyAnimator
可以在同一个类中方便地将许多API包装在一起,这样更容易使用。
此外,这个新类不能完全取代了UIView.animate(withDuration...)
API集。
内容预览:
22-用UIViewPropertyAnimator进行交互式动画
23-用UIViewPropertyAnimator自定义视图控制器转场
本文的四个章节都是使用同一个项目 LockSearch
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Heap
堆(Heap)
这个话题已经有个辅导文章
堆是数组内的二叉树,因此它不使用父/子指针。 堆基于“堆属性”进行排序,“堆属性”确定树中节点的顺序。
堆的一般用途:
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Deque
双端队列(Deque)
出于某种原因,双端队列也被称为“deck”。
常规队列元素在后面添加(入队),从前面删除(出队)。 除了这些,双端队列还可以在后面出队,从前面入队,并且两端都可查看。
Swift中双端队列的一个非常基本的实现:
1 | public struct Deque<T> { |
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Ordered Array
有序数组(Ordered Array)
这是一个始终从低到高排序的数组。 每当您向此数组添加新元素时,它都会插入到其排序位置。
当您希望对数据进行排序并且相对较少地插入新元素时,有序数组非常有用。在这种情况下,它比排序整个数组更快。但是,如果您需要经常更改数组,则使用常规数组并手动对其进行排序可能会更快。
实现是非常基础的。 它只是Swift内置数组的包装器:
本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Fixed-Size Arrays
固定大小数组(Fixed-Size Arrays)
早期的编程语言没有非常奇特的数组。 您将创建具有固定大小的数组,从那时起它将永远不会增长或缩小。 甚至C和Objective-C中的标准数组仍然是这种类型。
当您定义这样的数组时,
int myArray[10];
编译器分配一个可以容纳40个字节的连续内存块(假设int
是4个字节):