Github上传下载网络问题
Github上传下载网络问题 解决 Failed to connect to github.com port 443:connection timed out 添加代理 git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890 取消全局代理: git config --global --unset http.proxy git config --global --unset https...
conda常见命令
An In-Depth Guide to Conda Commands Conda is a powerful package management system that allows you to create and manage isolated environments for different projects, making it easier to work with different sets of dependencies. Whether you're a beginner or an experienced user, understanding the va...
最正确的解决ValueError
Clash代理最正确的解决ValueError: check_hostname requires server_hostname 网上一众博客解决方式全是关闭代理。 但当你下载一个包,发现国内镜像源没有这个包,不得不使用这个包时,你只能去国外下载。 这个时候不通过代理下载无疑是一种很慢的做法。 解决方式 去你所用的代理软件的GitHub去翻issue。 例如,启用clash的启用Specify Protocol ![image-20231213194532896](https://qiniu.kanes.top/blog/image-20231213194532896.png...
合并多篇引用参考文献
在word中,引用多篇参考文献的时候,有两种常见的格式,一种是 [a-b],表示从第a篇到第b篇的连续文献,另一种是 [a,b,c,…],表示不连续的多篇文献。这两种格式都可以用word的功能来实现,具体步骤如下: [方法一:使用“交叉引用”功能,分别插入所需引用文献的第一个和最后一个编号,然后切换域代码,分别在域代码后面加入字符#" [0"、#"0]",更新域后即可得到 [a-b]的格式](https://zhuanlan.zhihu.com/p/450481859)1[2](https://zhua...
09 HashTable与HashMap
HashMap: 基本概念 HashMap是Java集合框架中基于哈希表(Hash Table)实现的键值对(Key-Value)存储结构。它允许存储null值和null键,并且不保证元素的顺序。HashMap是非线程安全的,如果需要线程安全的操作,可以使用ConcurrentHashMap`或者通过Collections工具类将其包装为线程安全的版本。 主要特点 快速访问:由于基于哈希表实现,HashMap能够在O(1)时间复杂度内完成插入和查找操作(在理想情况下)。 无序存储:HashMap不保...
08 哈希表
哈希表详解 1. 引言 哈希表(Hash Table)是一种常用于快速查找的数据结构,它通过哈希函数将键映射到数组的特定位置,以实现快速的插入、删除和查找操作。 2. 哈希表原理 哈希表的原理基于哈希函数,这是一种能够将任意大小的数据映射到固定大小范围的函数。哈希表由一个数组和一个哈希函数组成。当插入一个键值对时,哈希函数计算键的哈希值,然后将该值映射到数组的特定位置。在查找时,哈希表再次使用哈希函数找到键的位置,从而实现快速的查找。 3. 解决冲突的方法 由于哈希函数的映射并非唯一,可能出现多个键映射到同一个位置的情况,称为冲突。解决冲突的常见方法有: #...
07 查找
常用搜索算法详解 1. 顺序(线性)搜索 顺序搜索是一种简单直观的搜索算法,它按顺序逐个检查数组中的元素,直到找到目标元素或遍历整个数组。其时间复杂度为O(n),适用于小型数据集。 def sequential_search(arr, target): for i in range(len(arr)): if arr[i] == target: return i return -1 /** 找到一个满足条件的值就返回 * @param arr *...
06.3 插入排序
插入排序详解 1. 引言 插入排序是一种简单而有效的排序算法,其核心思想是逐步构建有序序列。在每一轮遍历中,将未排序部分的元素逐个插入已排序部分的合适位置。 2. 插入排序原理 [!NOTE] 插入排序的基本思路是将一个元素插入已经有序的部分,通过不断地扩大已排序部分的范围,最终完成整个数组的排序。 3. 插入排序步骤 插入排序的具体步骤如下: [!TIP] 1. 从第二个元素开始,将其与已排序部分的元素逐个比较。 2. 如果当前元素小于已排序元素,将当前元素插入到合适的位置。 3. 重复以上步骤,直至整个数组有序。 4....
06.2 选择排序
摘要: 选择排序是一种简单直观的排序算法,通过多次遍历数组,在每轮遍历中选择未排序部分的最小元素并将其放置到已排序部分的末尾。选择排序的时间复杂度为O(n^2),适用于处理小规模数据集或对稳定性不作要求的情况。虽然不如快速排序或归并排序等高效算法,但选择排序简单易懂,不需要额外内存空间。
选择排序详解 1. 引言 选择排序是一种简单直观的排序算法,其核心思想是通过多次遍历数组,在每轮遍历中选择未排序部分的最小元素并将其放置到已排序部分的末尾。 2. 选择排序原理 选择排序的基本思路是通过不断选择最小的元素,逐步构建有序序列。在每一轮遍历中,找到未排序部分的最小元素,并与未排序部分的第一个元素交换位置,将其纳入已排序的部分。 3. 选择排序步骤 选择排序的具体步骤如下: 在未排序部分选择最小元素。 将最小元素与未排序部分的第一个元素交换位置,将其纳入已排序部分。 重复以上步骤,直至整个数组有序。 4. 选择排序代码 ...
06.1 冒泡排序
冒泡排序详解 1. 引言 冒泡排序是一种简单直观的排序算法,其基本思想是通过多次遍历数组,比较相邻元素并交换,使得每一轮遍历后最大的元素都位于数组末尾。 2. 冒泡排序原理 冒泡排序的核心思想是相邻元素两两比较,将较大的元素逐步交换到右侧,通过多轮遍历实现整体排序。 3. 冒泡排序步骤 冒泡排序的具体步骤如下: 从第一个元素开始,依次比较相邻元素。 如果前一个元素大于后一个元素,则交换它们的位置。 继续比较下一组相邻元素,重复步骤2。 一轮遍历后,最大的元素将移动到数组末尾。 重复以上步骤,每轮遍历确定一个最大元素的位置...