遍歷二叉樹的各種操作(非遞歸遍歷)
先使用先序的方法建立一棵二叉樹,然後分別使用遞歸與非遞歸的方法實現前序、中序、後序遍歷二叉樹,並使用了兩種方法來進行層次遍歷二叉樹,一種方法就是使用STL中的queue,另外一種方法就是定義了一個數組隊列,分別使用了front和rear兩個數組的下標
求二叉樹深度,遞歸和非遞歸
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
求二叉樹節點數,遞歸與非遞歸
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
按層遍歷二叉樹
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
求二叉樹葉子節點個數,遞歸和非遞歸
1、二叉樹定義:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
求二叉樹第K層的節點數和二叉樹第K層的葉子節點數,遞歸和非遞歸
求二叉樹第K層的節點數和二叉樹第K層的葉子節點數,遞歸方式和非遞歸方式。1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;
打印二叉樹中第K層的第M個節點,非遞歸算法
1、二叉樹定義:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
比較兩個二叉樹是否相同(結構和數據),遞歸和非遞歸
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
求二叉樹的鏡像,遞歸和非遞歸方式
1、二叉樹定義:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
求二叉樹中任意兩個節點之間的距離,遞歸和非遞歸
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
由前序遍歷和中序遍歷重建二叉樹,遞歸方式
1、二叉樹定義typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ {
2015屆華為校園招聘機試題
2015屆華為校園招聘機試題第一題(60分):按要求分解字符串,輸入兩個數M,N;M代表輸入的M串字符串,N代表輸出的每串字符串的位數,不夠補0。例如:輸入2,8, “abc” ,“123456789”
APUE習題4.6源代碼----實現自己的簡易 cp 命令
原題:編寫一個類似 cp 的程序,它復制包含空洞的文件,但不將字節0寫到輸出文件中去。源代碼:#include <stdio.h>#include <unistd.h>#include <fcntl.h>#incl
Linux ---lseek() 函數
每個打開的文件都有一個與其相關連的“當前文件偏移量”( current file offset )。它通常是一個非負整數,用以度量從文件開始處計算的字節數。通常,讀、寫操作都從當前文件偏移量開始,並使偏移量增加所讀寫的字節數。
UNIX內核用於所有I/O的數據結構
內核使用三種數據結構表示打開的文件,分別是文件描述符表、文件表和 V 節點表。它們之間的關系決定了在文件共享方面一個進程對另一個進程可能產生的影響。每個進程在進程表中都有一個記錄項,記錄項中包含有一張打開文件描述符表,每個描述符占用一項。與每個文件描
PHP代碼優化24條真經
PHP代碼優化24條真經1.echo比print快。2.使用echo的多重參數代替字符串連接。3.在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。4.對global變量,應該用完就unset()掉。5.用單
Objective-C中的Block
1.相關概念在這篇筆記開始之前,我們需要對以下概念有所了解。1.1 操作系統中的棧和堆注:這裡所說的堆和棧與數據結構中的堆和棧不是一回事。我們先來看看一個由C/C++/OBJC編譯的程序占用內存分布的結構: 棧區(stack):由系統自動分
使用 Google 的 Web API 創建二維碼
介紹在這篇文章裡我將會介紹一個簡單的方法(使用內部的標准空間)用來創建二維碼(QR Code), 記錄關於UserControl的一切用以備查。有許多的庫幫助我們做類似的操作,但是這次我要使用谷歌圖表( Google Charts) (https:/
Java並發:分布式鎖
Redis有一系列的命令,特點是以NX結尾,NX是Not eXists的縮寫,如SETNX命令就應該理解為:SET if Not eXists。這系列的命令非常有用,這裡講使用SETNX來實現分布式鎖。 用SETNX實現分布式鎖 利用SETNX非常簡