原创 Python算法之『 簡潔的選擇排序』

def select_sort(arr): """ 選擇排序 原理:選擇一個最大的數,放在最後,在剩餘的數中再選擇一個最大的數,放在倒數第二個位置, 如此反覆,直到最後一個也被選擇了出來,排序結束

原创 簡單談談數據的歸一化問題(Python)

開發過程中經常遇到需要把數據歸一化處理的情況,簡單記錄幾種歸一化方法。 需求1:歸一化(將一組數轉換到[0~1]區間內)一組數據,數據包含正負數,歸一化後的數據列保持其原數據列的大小順序。 def normalization(data)

原创 Python算法之『 簡潔的快速排序』

def quick_sort(arr): """ 快速排序(二分法遞歸排序) 原理:取數組第一個數作爲標誌,小於它的所有數放在一個列表,大於等於它的放在另一個列表,然後遞歸處理這兩個數組。 遞歸過

原创 Android自定義View之『 自定義組合控件 』

開發中經常遇到一些使用率很高的組合控件,比如用戶頭像、名稱、背景及點擊動畫,再比如新聞列表中的新聞圖片、標題、時間、評論等,這些都可以“抽象”成一個組合式控件,以便於調用。 這裏以一個簡要的新聞版塊信息爲例,簡要說明一下組合控件的構建流程

原创 使用pyecharts繪製中國曆代都城的分佈圖

閒來無事,使用Python版本的echarts繪製中國曆代(夏~民國)都城分佈圖: 圖中不同顏色代表不同城市被定爲都城的次數。數據不完整,僅僅做個demo吧。 注意:不同版本的pyecharts差異較大,最新版本的需要使用 “from

原创 Python算法之『 簡潔的冒泡排序』

def bubble_sort(arr): """ 冒泡排序 原理:從前向後,把相鄰的兩個數比較,如果前者大則交換,依次向後比較,一輪結束後,選出了最大值(在最後位置)。 在剩餘的數列中繼續如此操

原创 Python算法之『 冒泡、選擇、快速排序算法的時間性能比較』

  關於冒泡、選擇、快速排序算法的Python實現代碼,此處不贅述,完整代碼請查看: 冒泡排序 選擇排序 快速排序   問題1:就這三種排序算法而言,快排是否是最優方案? 問題2:冒泡和選擇的時間複雜度相同,其時間性能表現是否真的相同(或

原创 Android自定義View之『 定義帶圓角框的TextView』(繼承系統控件方式)

該自定義方式:繼承系統控件,再定義。除了這種方式,還有【組合自定義方式】和【繼承View自定義方式】,對於這兩種,本文暫不涉及。 需求:實現一個帶圓角邊框的文字控件。例如下圖:   1、新建MyTextView.java packag

原创 關於OpenCV的圖像矩陣拼接(Python版本)及numpy.concatenate函數介紹

功能:給定任意大小的兩個圖片(矩陣),水平連接成一個圖片(矩陣)。高度不同時,使用黑色作爲高度較小者的邊緣填充,圖片垂直居中。 import cv2 import numpy as np def image_join(image1,

原创 Python算法之『 神祕的堆排序』

一、爲什麼說堆排序很“神祕”? 堆排序相較於其他常見的線性排序(冒泡、選擇、插入、快排等),它比較不一樣(我們不一樣,不一樣)。堆排序使用“堆”結構進行非線性排序,這裏的堆就是數據結構裏的二叉樹,確切的說應該是【完全二叉樹】。說到樹結構,

原创 Python中設置指定窗口爲前臺活動窗口(最頂層窗口)win32gui

Python程序運行時,打開了多個窗口,使用win32gui模塊可以設置指定的某一個窗口爲當前活動窗口。 import re, time import webbrowser import win32gui, win32con, win3

原创 關於Python線程的Event事件機制

先看官方的Event類註解: class Event: """Class implementing event objects. Events manage a flag that can be set to true

原创 Python lambda函數究竟是什麼?

1、lambda是什麼? lambda表達式在許多語言中都出現過,Java8中lambda作爲新特性而出現,如下: // 接收一個參數,返回其平方數 x -> x * x // 接受2個參數,返回他們的乘積 (x, y

原创 Python wordcloud詞雲:源碼分析及簡單使用

Python版本的詞雲生成模塊從2015年的v1.0到現在,已經更新到了v1.7。 下載請移步至:https://pypi.org/project/wordcloud/ wordcloud簡單應用: import jieba impor

原创 Python的logging模塊的使用及思考:服務器程序把每天的log寫入到當天的log文件中

需求: 一個Python服務器程序,可能會連續運行幾個月,現在需要把每天產生的log信息寫入到當天的文件中,即每天產生一個log文件。 使用logging模塊編寫程序,第一個版本如下: import logging import tim