python 内置的排序函数
排序是非常常见的操作,常见的排序算法的时间复杂度一般为 \(O(n^2)\)(冒泡、选择、插入)或 \(O(nlogn)\)(快排、归并等)。虽然这些算法对于编程人员来说是基础,但是在实际工程中往往会使用语言内置的排序函数,主要是考虑到编程效率和自己编写排序函数时涵盖情况不全的问题。因此本文主要讲述 python 中的内置函数。
排序是非常常见的操作,常见的排序算法的时间复杂度一般为 \(O(n^2)\)(冒泡、选择、插入)或 \(O(nlogn)\)(快排、归并等)。虽然这些算法对于编程人员来说是基础,但是在实际工程中往往会使用语言内置的排序函数,主要是考虑到编程效率和自己编写排序函数时涵盖情况不全的问题。因此本文主要讲述 python 中的内置函数。
本文主要从 LeetCode 两道题出发讲解如何从树的周游结果来重构树。这两道题分别是 105. Construct Binary Tree from Preorder and Inorder Traversal和 106. Construct Binary Tree from Inorder and Postorder Traversal
200. Number of Islands题目描述如下: >Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.
Binary Indexed Trees(中文名为树状数组,下文简称为 BIT)是一种特殊的数据结构,可多用于高效计算数列的前缀和, 区间和。对于长度为 n 的数组,它可以以 \(O(logn)\) 的时间得到任意前缀和 $ {_{i=1}^{j} a [i],1<=j<=N}$,并同时支持在 $ O (log n)$ 时间内支持动态单点值的修改。空间复杂度 \(O(n)\)
由于某些网站对会对爬虫做限制,因此常常需要通过代理将爬虫的实际 IP 隐蔽起来,代理也有分类,如透明代理,高匿代理等。本文主要讲述如何获取代理 IP,并且如何存储和使用。
本文主要记录 Java 面向对象中几个容易混淆的概念。主要包括重写 (override) 与重载 (overload),多态,抽象类与接口。
两个题目均是要求利用给出的整数 [1, n] 构造出所有的二叉搜索树(BST),其中 95. Unique Binary Search Trees II要求返回所有的二叉树的根节点,96. Unique Binary Search Trees则仅要求返回所有二叉树的数目。
HTTP 协议采用了非常简单的请求 - 响应模式。由浏览器向网站发出请求(称为 http request),网站根据请求将相关的资源返回给浏览器(称为 http response)。这样周而复始就形成了网络通信。
数据库表是一个二维表,包含多行多列。通过 python 获取数据库中的内容时,可以用一个 list 表示获取的多行记录,每一个元素的类型是 tuple,表示一行记录,比如,包含 id 和 name 的 user 表: