Fork me on GitHub
欣欣向戎

AndyRon's Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益404

  • 搜索

Python基础总结

发表于 2019-09-15 | 分类于 Python | | 阅读次数 |
字数统计 : 14,301 字 | 阅读时长 ≈ 65 分钟

一、类型和运算

寻求帮助

1
2
dir(obj)            # 简单的列出对象obj所包含的方法名称,返回一个字符串列表
help(obj.func) # 查询obj.func的具体介绍和用法

测试类型的三种方法

推荐第三种

1
2
3
4
5
6
if type(L) == type([]):
print("L is list")
if type(L) == list:
print("L is list")
if isinstance(L, list):
print("L is list")
阅读全文 »

读《百年孤独》 —— 孤独才是寂寞的唯一出口

发表于 2019-09-09 | 分类于 读书笔记 | | 阅读次数 |
字数统计 : 2,046 字 | 阅读时长 ≈ 7 分钟

有句开玩笑的话,大概是这样说的:“经典就是买的人很多,读的人却很少的作品”,而《百年孤独》可能就是这样的经典作品,读完真的是史诗般的孤独体验,可能我以后还会再去品味这部经典,但我确信近几年我不想,也不能再都去读了。🤦‍♀️

阅读全文 »

【译】Swift算法俱乐部-并查集

发表于 2019-09-05 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 2,225 字 | 阅读时长 ≈ 9 分钟

本文是对 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/Union-Find


并查集(Union-Find)

并查集是一种数据结构,可以跟踪一组元素,它们分布在几个不相交(非重叠)子集合中。 它也被称为不相交集数据结构。

这是什么意思呢? 例如,并查集数据结构可以跟踪以下集合:

[ a, b, f, k ]
[ e ]
[ g, d, c ]
[ i, j ]
阅读全文 »

【译】Swift算法俱乐部-选取样本

发表于 2019-09-02 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 2,242 字 | 阅读时长 ≈ 9 分钟

本文是对 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/Selection Sampling


选取样本(Selection Sampling)

目标:从n个项的集合中随机选择k个项。

假设你有一副52张牌,你需要随机抽取10张牌。 这个算法可以让你达成。

这是一个非常快的版本:

1
2
3
4
5
6
7
8
9
10
func select<T>(from a: [T], count k: Int) -> [T] {
var a = a
for i in 0..<k {
let r = random(min: i, max: a.count - 1)
if i != r {
swap(&a[i], &a[r])
}
}
return Array(a[0..<k])
}
阅读全文 »

【译】Swift算法俱乐部-第k大元素问题

发表于 2019-09-01 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,708 字 | 阅读时长 ≈ 7 分钟

本文是对 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/Kth Largest Element


第k大元素问题(k-th Largest Element Problem)

你有一个整数数组a。 编写一个算法,在数组中找到第k大的元素。

例如,第1个最大元素是数组中出现的最大值。 如果数组具有n个元素,则第n最大元素是最小值。 中位数是第n/2最大元素。

朴素的解决方案

以下是半朴素的解决方案。 它的时间复杂度是 O(nlogn),因为它首先对数组进行排序,因此也使用额外的 O(n) 空间。

1
2
3
4
5
6
7
8
9
func kthLargest(a: [Int], k: Int) -> Int? {
let len = a.count
if k > 0 && k <= len {
let sorted = a.sorted()
return sorted[len - k]
} else {
return nil
}
}
阅读全文 »

2-网络分层的真实含义是什么?

发表于 2019-08-29 | 分类于 计算机网络 , 《趣谈网络协议》学习笔记 | | 阅读次数 |
字数统计 : 2,462 字 | 阅读时长 ≈ 9 分钟

这是我学习《趣谈网络协议》的一篇笔记。


计算机网络是不仅需要背诵,而且特别需要将原理烂熟于胸的学科。

1.几个问题

网络分层不恰当的比喻:一家公司也是分“层次”的,分总经理、经理、组长、员工。总经理之间有他们的沟通方式,经理和经理之间也有沟通方式,同理组长和员工。

  1. TCP 在进行三次握手的时候,IP层和 MAC层对应都有什么操作呢?

  2. 第三层网络层中设计路由协议,说路由就像中转站,我们从原始地址 A 到目标地址D,中间经过两个中转站 A->B->C->D,是通过路由转发的。

    阅读全文 »

1-为什么要学习网络协议?

发表于 2019-08-29 | 分类于 计算机网络 , 《趣谈网络协议》学习笔记 | | 阅读次数 |
字数统计 : 2,724 字 | 阅读时长 ≈ 10 分钟

这是我学习《趣谈网络协议》的一篇笔记。


协议如同人与人的对话,语言不通,无法沟通。

1
2
3
4
5
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
阅读全文 »

Xcode中图标含义总结

发表于 2019-08-26 | 分类于 iOS | | 阅读次数 |
字数统计 : 387 字 | 阅读时长 ≈ 1 分钟

Xcode中不少有点图标和符号,平常使用不怎么注意,仔细思考🤔一下,有的还不清楚啥意思,这边我做个小小的归纳。

按照显示位置,大概分为以下四类:

一、文件后面的字母或符号

这些字母或符合对应版本控制(Git,Xcode10已经不再支持SVN),如果没有使用Git,也可大概看看那些文件修改了或者是新加的。

M —— modified,已被修改,需要 commit
A —— added,文件是新添加的,已经add,需要 commit
R —— 文件被重命名
? —— 文件是新添加的,还没有add
D —— deleted,文件在服务器上已被删除,这时update的话,可删除本地的文件
C —— conflict,冲突

阅读全文 »

【译】Swift算法俱乐部-最小生成树(未加权图)

发表于 2019-08-02 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,384 字 | 阅读时长 ≈ 6 分钟

本文是对 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/Minimum Spanning Tree(Unweighted))


最小生成树(未加权图)(Minimum Spanning Tree (Unweighted Graph))

最小生成树描述了包含访问图中每个节点所需的最小数目边的路径。

看下图:

Graph

阅读全文 »

【译】Swift算法俱乐部-最小生成树(加权图)

发表于 2019-08-01 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,036 字 | 阅读时长 ≈ 5 分钟

本文是对 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/Minimum Spanning Tree


最小生成树(加权图)(Minimum Spanning Tree (Weighted Graph))

这个主题有一篇辅导文章

连接的无向加权图的最小生成树(MST)具有来自原始图的边的子集,其将所有顶点连接在一起,没有任何循环并尽可能减少总边权重。 图中可以有多个MST。

有两种流行的算法来计算图形的MST - Kruskal算法和Prim算法。 两种算法的总时间复杂度为O(ElogE),其中E是原始图的边数。

Kruskal算法

Sort the edges base on weight. Greedily select the smallest one each time and add into the MST as long as it doesn’t form a cycle.
根据权重对边进行排序。每次贪婪地选择最小的一个并且只要它不形成循环就加入MST。
Kruskal的算法使用并查集 数据结构来检查是否有任何其他边导致循环。逻辑是将所有连接的顶点放在同一个集合中(在并查集的概念中)。如果来自新边的两个顶点不属于同一个集合,那么将该边添加到MST中是安全的。

下图演示了这个步骤:

Graph

阅读全文 »
12…22
AndyRon

AndyRon

Just for fun.👨‍💻✍️🎨

212 文章
19 分类
210 标签
RSS
GitHub 简书 微博 Twitter email
推荐阅读
  • Appcoda
  • 阮一峰的个人网站
  • Ray Wenderlich
© 2017 - 2020 AndyRon 全站共323.6k字
0%