ython类
iter(迭代器)
1 | class test: |
contains
contains 方法可以判断子串是否在原字符串中
1 | 接上例代码 |
1 | class test: |
contains 方法可以判断子串是否在原字符串中
1 | 接上例代码 |
顶点(vertex)
边(edge)
简单实现: 邻接矩阵实现
1 | 0 # 1 2 3 4 5 6 第一行 第一列代表节点 |
更高效的实现方法是:邻接列表
维护一个包含所有顶点的主列表
1 | [ |
类似与一层一层的遍历
先选择一条路径,走到最深处,若不匹配就回溯知道有另一条路径,知道找到匹配的值
所以bfs
需要三个特有属性
寻路、词阶。
1 | 排序方法 时间复杂度 空间复杂度 稳定性 代码复杂度 |
时间复杂度:最坏:O(N^2) 平均:O(N)~O(N^2)
也可以按{5,3,1}进行增量排序
希尔排序每趟并不是使某些元素有序,而是使整体数据越来越趋近与有序
时间复杂度:O(N)
先创建一个范围表例如 [0,n]推荐用字典
设数据都在范围标内,然后然后遍历数据,对每一数据进行计数
最后根据计数创建出排列的好的序列
缺点:对于精度高的数据,消耗的空间多
时间复杂度:平均:O(n+k) 最坏 O(n^2*k) 空间复杂度:O(nk) 其中k = logmlogn m为桶的容量
将元素分在不同的桶内,再对桶中的元素进行排序
时间复杂度 : O(nk) 空间复杂度 O(n+K)
按这个思路发散,即是基数排序
if else分支
1 | int main() |
1 | int main() |