原创 利用swagger生成api接口文檔

1. swagger出現的背景? 現在的網站架構,前後端分離已經成爲一種趨勢,前後端的技術在各自的道路上越走遠越,後端的框架有常見的spring全家桶,前段也有angular和react等框架。後端主要負責提供服務接口,前段主要負

原创 我的第一個python需求,用openpyxl操作excel

需求內容 如上表,騎手ID是唯一識別騎手的標誌,我們需要統計下表中每個騎手總共送了多少外賣,並生成到新的一個sheet中。結果如下圖所示: 除過上面的需求外,還需要統計原始的表格數據中,騎手等級和騎手分層狀況,結果如下表所示:

原创 快速排序

快速排序 快速排序的基本流程 快速排序顧名思義是通過實踐發現,性能快於其他排序算法的一種算法。他的基本排序思想分爲下面幾步,假設給定一個待排序的數組arr 如果arr中元素的個數是0或者1,則結束程序,因爲快速排序是用遞歸實現的

原创 插入排序

插入排序 插入排序的基本原則是,將一個待排序的元素,按照排序規則,插入到前面已經排好序的一組元素的適當位置,直到元素全部插入爲止。根據尋找插入位置的不同方式,可將插入排序分爲直接插入排序和折半插入排序,還有一種對直接插入排序的優化

原创 hashCode方法介紹

hashCode方法介紹 hashCode方法的意義 JDK官方API給出的解釋: public int hashCode() Returns a hash code value for the object. This met

原创 二叉堆

二叉堆 二叉堆的定義 二叉堆是一顆完全二叉樹 完全二叉樹:把元素一層一層放,如果每一層都放滿,沒有空的葉子節點,就是滿二叉樹,如果有空的葉子節點,那就是完全二叉樹。 二叉樹中每一個節點的值總是小於父節點的值(最大堆)。如下

原创 ElasticSearch基本概念

ElasticSearch基本概念 Document(文檔) ES是面向文檔的,文檔是所有可搜索數據的最小單位,一部電影、一首歌、一篇文章都是一個文檔,類比到關係型數據庫,相當於一行數據。 文檔會被序列化成JSON格式,每個JSO

原创 ElasticSearch安裝過程以及遇到的坑

ElasticSearch 簡介 關於什麼是ElasticSearch的問題,不贅述。 安裝 環境:centos6.5 下載解壓安裝包 下載需要的安裝包,上傳到服務器解壓。因爲es是國外的公司,通過瀏覽器下載超級慢,這裏我們推薦迅

原创 AVL樹

AVL樹 定義 AVL樹本質上還是一顆二叉搜索樹,其特性是對於任意一個節點,左子樹和右子樹的高度差不能超過1,所以AVL樹也稱爲平衡二叉樹 平衡二叉樹的高度和節點數量之間的關係也是O(logN) 平衡因子: 左右子樹的高度差

原创 二叉搜索樹

什麼是二叉查找樹 樹的概念這裏不做說明,在假設我們都知道二叉樹的情況下,那麼二叉查找樹就是符合以下情況的一種特殊的二叉樹:對於二叉查找樹的某個節點X,他的左子樹中所有的節點值都小於X節點的值,右子樹所有節點的值都大於X節點的值。

原创 一段糟糕代碼的演進之路

private void removeKeys(List<Map<String, String>> data, List<String> removeKeys) { for (Map<String, String>