原创 再也不怕和老外交流了!我用python實現一個微信聊天翻譯助手!

文章目錄前言詳細設計微信api有道api整體邏輯代碼和運行結果結語 前言 在前面的一篇文章如何用python“優雅的”調用有道翻譯中咱們清楚的寫過如何一層一層的解開有道翻譯的面紗,並且筆者說過那只是腦洞的開始。現在筆者又回來了。當

原创 是時候介紹一下自己!

前言 大家好,我是bigsai。我覺得是時候和大家碰個面,介紹一下和總結一下自己吧,也算是給這個時間刻下一個標記吧。我覺得這個時間點是挺重要的! 還是很感謝各位的關注和認可,也很感激在這個過程中和我一起交流過,給過所有支持和認可的夥伴們

原创 劍指offer(60-67題)詳解

文章目錄60 把二叉樹打印成多行61 序列化二叉樹62 二叉搜索樹第K個節點63 數據流中的中位數64 滑動窗口的最大值65 矩陣中的路徑66 機器人的運動範圍67 剪繩子 歡迎關注個人數據結構專欄哈 微信公衆號:bigsai

原创 劍指offer(1-10題)詳解

文章目錄01二維數組的查找02替換空格03從尾到頭打印鏈表04重建二叉樹★05 用兩個棧實現隊列06旋轉數組的最小數字07 斐波那契數列08 跳臺階09 變態跳臺階★10 矩陣覆蓋 歡迎關注個人數據結構專欄哈 劍指offer系列

原创 淺談迷宮搜索類的雙向bfs問題(例題解析)

文章目錄前言bfs類問題雙向bfs例題實戰 前言 文章若有疏忽還請指正,更多精彩還請關注公衆號:bigsai 在搜索問題中,以迷宮問題最具有代表性,無論是八皇后的回溯問題,還是dfs找出口,bfs找最短次數等等題目的問題。在

原创 劍指offer(34-40題)詳解

文章目錄34 第一個只出現一次的字符35 數組中的逆序數36 兩個鏈表的第一個公共節點37 數字在排序數組中出現的次數38 二叉樹的深度39 平衡二叉樹40 數組中只出現一次的數字 歡迎關注個人數據結構專欄哈 劍指offer系列

原创 【排序】交換類排序—冒泡排序、快速排序手撕圖解

文章目錄前言冒泡排序介紹分析代碼快速排序介紹分析代碼測試與總結 前言 歡迎大家關注我的數據結構與算法專欄哈!,無論是日後面試還是筆試的,排序在數據結構與算法中有着舉足輕重的地位,所以還是決定把數據結構這個專題好好寫寫,多研究研究!

原创 【排序】歸併類排序—歸併排序(逆序數問題)

文章目錄前言歸併排序(merge sort)逆序數結語 微信公衆號:bigsai 數據結構與算法專欄 前言 在排序中,我們可能大部分更熟悉冒泡排序、快排之類。對歸併排序可能比較陌生。然而事實上歸併排序也是一種穩定的排序,時間複

原创 數據結構與算法—圖論之dfs、bfs(深度優先搜索、寬度優先搜索)

文章目錄前言鄰接矩陣和鄰接表深度優先搜索(dfs)寬度(廣度)優先搜索(bfs)總結與比較 前言 在有向圖和無向圖中,如果節點之間無權值或者權值相等,那麼dfs和bfs時常出現在日常算法中。不僅如此,dfs,bfs不僅僅能夠解決圖

原创 數據結構與算法——並查集(不相交集合)

文章目錄認識並查集並查集解析基本思想如何查看a,b是否在一個集合?a,b合併,究竟是a的祖先合併在b的祖先上,還是b的祖先合併在a上?其他路徑壓縮?代碼實現結語 認識並查集 對於並查集(不相交集合),很多人會感到很陌生,沒聽過或者

原创 數據結構與算法——二叉平衡樹(AVL樹)詳解

文章目錄AVL樹概念不平衡概況四種平衡旋轉方式RR平衡旋轉(左單旋轉)LL平衡旋轉(右單旋轉)RL平衡旋轉(先右後左雙旋轉)LR平衡旋轉(先左後右單旋轉)java代碼實現總結 AVL樹概念 前面學習二叉查找樹和二叉樹的各種遍歷,但

原创 數據結構與算法—二叉樹的層序、前序中序後序(遞歸、非遞歸)遍歷

目錄前言 層序遍歷 前中後序遍歷(遞歸) 前序遞歸中序遞歸後序遞歸非遞歸前序 法一(技巧)法二(傳統)非遞歸中序 非遞歸後序※ 法1(傳統方法)法2(雙棧):總結 前言 前面介紹了二叉排序樹的構造和基本方法的實現。但是排序遍

原创 數據結構與算法—遞歸算法(從階乘、斐波那契到漢諾塔的遞歸圖解)

目錄遞歸介紹遞歸求階乘遞歸求斐波那契遞歸解決漢諾塔總結 遞歸介紹 遞歸:就是函數自己調用自己。 子問題須與原始問題爲同樣的事,或者更爲簡單; 遞歸通常可以簡單的處理子問題,但是不一定是最好的。 對於遞歸要分清以下概念: 自己調

原创 數據結構與算法—隊列詳解

目錄前言 隊列介紹基本屬性 普通隊列循環隊列鏈式實現具體實現數組實現鏈式實現測試總結 前言 棧和隊列是一對好兄弟,前面我們介紹過數據結構與算法—棧詳解,那麼棧的機制相對簡單,後入先出,就像進入一個狹小的山洞,山洞只有一個出口,

原创 數據結構與算法—二叉排序(查找)樹

目錄前言 樹二叉樹二叉排序(搜索)樹概念構造主要方法findmax(),findmin()isContains(int x)insert(int x)delete(int x)完整代碼結語 前言 前面介紹學習的大多是線性表相關