主頁 >  其他 > 【理論】資料結構知識點復習【408統考】

【理論】資料結構知識點復習【408統考】

2022-03-15 07:40:53 其他

緒論

資料結構的基本概念

資料:資料是資訊的載體,計算機程式加工的原料

資料元素:資料的基本單位,若干資料項組成,資料項是資料元素的不可分割的最小單位

資料物件:具有相同性質的資料元素的集合,資料的子集

 

資料型別

原子型別:其值不可再分的資料型別

結構型別:可以再分解為若干成分的資料型別

抽象資料型別:抽象資料組織及與之相關的操作

 

資料結構:相互之間存在一種或多種特定關系的資料元素的集合

 

資料結構三要素

【1】資料的邏輯結構:資料之間的邏輯關系,分為線性結構和非線性結構

【2】資料的存盤結構

順序存盤

邏輯上相鄰的元素存盤在物理位置上也相鄰的存盤單元中

優點:實作隨機存取,每個元素占用最少的存盤空間

缺點:只能使用相鄰的一整塊存盤單元,可能產生較多的外部碎片

鏈式存盤

借助指示元素存盤地址的指標來表示元素之間的邏輯關系

優點:不會出現碎片現象,充分利用所有存盤單元

缺點:占用額外的存盤空間,且只能實作順序存盤

索引存盤

存盤資訊的同時,建立附加的索引表,索引表中的每項稱為索引項

優點:檢索速度快

缺點:索引表占用了額外的存盤空間,增加洗掉資料要修改索引表,花費較多的時間

散列存盤

根據元素的關鍵字直接計算元素存盤地址

優點:檢索、增加洗掉節點操作快

缺點:散列函式要求較高,容易出現存盤單元沖突

 

【3】資料的運算:施加在資料上的運算包括運算的定義和實作

演算法和演算法評價

演算法的基本概念

概念

對特定問題求解步驟的一種描述

特性

有窮性:一個演算法必須總在執行有窮步之后結束,且每一 步 都可在有窮時間內完成

確定性:演算法中每條指令必須有確切的含義,對于相同的輸入只能得出相同的輸出,

可行性:演算法中描述的操作都可以通過已經實作的基本運算執行有限次來實作,

輸入:一個演算法有零個或多個輸入,這些輸入取自于某個特定的物件的集合,

輸出:一個演算法有一個或多個輸出,這些輸出是與輸入有著某種特定關系的量,

評價標準

正確性,演算法應能夠正確地解決求解問題,

可讀性,演算法應具有良好的可讀性,以幫助人們理解,

健壯性,輸入非法資料時,演算法能適當地做出反應或進行處理,而不會產生莫名其妙的輸出結果,

效率與低存盤量需求,效率是指演算法執行的時間,存盤量需求是指演算法執行程序中所需要的最大存盤空間,這兩者都與問題的規模有關,

 

演算法效率的度量

時間復雜度

一個陳述句的頻度是指該陳述句在演算法中被重復執行的次數

所有陳述句的頻度只和記為T(n)

 

演算法中基本運算【最深層循壞內的陳述句】的頻度與T(n)同數量級

 

演算法中基本運算的頻度f(n)來分析演算法的時間復雜度

 

演算法的時間復雜度不僅依賴于問題的規模,也取決于待輸入資料的性質

 

最壞時間復雜度是指在最壞情況下,演算法的時間復雜度,

平均時間復雜度是指所有可能輸入實體在等概率出現的情況下,演算法的期望運行時間,

最好時間復雜度是指在最好情況下,演算法的時間復雜度,

一般總是考慮在最壞情況下的時間復雜度,以保證演算法的運行時間不會比它更長,

 

空間復雜度

S(n)演算法所耗費的存盤空間

一個程式在執行時除需要存盤空間來存放本身所用的指令、常數、變數和輸入資料外

還需要一些對資料進行操作的作業單元和資料一些為實作計算所需資訊的輔助空間

線性表

線性表的定義和基本操作

定義

具有相同資料型別的n個資料元素的有限序列

特點

表示元素的個數有限

表中元素具有邏輯上的順序性,表中元素有其先后次序,

表中元素都是資料元素,每個元素都是單個元素,

表中元素的資料型別都相同,這意味著每個元素占有相同大小的存盤空間,

表中元素具有抽象性,即僅討論元素間的邏輯關系,而不考慮元素究竟表示什么內容,

基本操作

InitList(&L):初始化表,構造-一個空的線性表,

Length(L):求表長,回傳線性表L的長度,即L中資料元素的個數,

LocateElem(L,e):按值查找操作,在表L中查找具有給定關鍵字值的元素,

GetElem(L,i):按位查找操作,獲取表L中第i個位置的元素的值,

ListInsert(&L,i,e):插入操作,在表L中的第i個位置上插入指定元素e.

ListDelete(&L,i,&e):洗掉操作,洗掉表L中第i個位置的元素,并用e回傳洗掉元素的值,

PrintList (L):輸出操作,按前后順序輸出線性表L的所有元素值,

Empty(L):判空操作,若L為空表,則回傳true,否則回傳false,

DestroyList(&L):銷毀操作,銷毀線性表,并釋放線性表L所占用的記憶體空間,

線性表的順序表示

定義

一組地址連續的存盤單元依次存盤線性表中的資料元素,從而使得邏輯上相鄰的兩個元素在物理位置上也相鄰

特點

邏輯順序與其物理順序相同

線性表L存盤的起始位置為LOC(A),sizeof(ElemType)是每個資料元素所占用存盤空間的大小,則表L所對應的順序存盤

線性表的順序存盤結構是一種隨即存取的存盤結構

通常用高級程式設計語言中的陣列來描述線性表的順序存盤結構

查看代碼
#define MaxSize 50            //定義線性表的最大長度
typedef struct{
    ElemType data[MaxSize];   //順序表的元素
    int length;               //順序表的當前長度
}SqList;                      //順序表的型別定義

一維陣列可以靜態分配,也可以是動態分配

靜態分配時,由于陣列的大小和空間事先已經固定,一旦空間占滿,再加入新的資料就會產生溢位,進而導致程式崩潰

動態分配時,存盤陣列的空間是在程式執行程序中通過動態存盤分配陳述句分配的,一旦資料空間占滿,就另外開辟一塊更大的存盤空間,用以替換原來的存盤空間,從而達到擴充存盤陣列空間的目的,而不需要為線性表一次性地劃分所有空間,

動態分配并不是鏈式存盤,它同樣屬于順序存盤結構,物理結構沒有變化,依然是隨機存取方式,只是分配的空間大小可以在運行時動態決定,

#define InitSize 100          //表長度的初始定義
typedef struct{
    ElemType *data;           //指示動態分配陣列的指標
    int MaxSize,length;       //陣列的最大容量和當前個數
}SqList;                      //動態分配陣列順序表的型別定義

C的初試動態分配陳述句為

L.data=https://www.cnblogs.com/yyyyfly1/archive/2022/03/14/(ElemType*)malloc(sizeof(ElemType)*InitSize);

C++的初始動態分配陳述句為

L.data=https://www.cnblogs.com/yyyyfly1/archive/2022/03/14/new ElemType[InitSize];

順序表最主要的特點是隨機訪問,即通過首地址和元素序號可在時間0(1)內找到指定的元素,

順序表的存盤密度高,每個結點只存盤資料元素,

順序表邏輯上相鄰的元素物理上也相鄰,所以插入和洗掉操作需要移動大量元素,

插入操作

在順序表L的第i (1<=i<=L. 1ength+1)個位置插入新元素e,

bool ListInsert(SqList &L,int i,ElemType e){
    if(i<1||i>L.length+1)
        return false;
    if(L.length>=MaxSize)
        return false;
    for(int j=L.length;j>=i;j--)
        L.data[j]=L.data[j-1];
    L.data[i-1]=e;
    L.length++;
    return true;
}

最好情況:在表尾插入(即i=n+ 1),元素后移陳述句將不執行,時間復雜度為0(1),

最壞情況:在表頭插入(即i= 1),元素后移陳述句將執行n次,時間復雜度為0(n),

平均情況:假設pi (pr= 1/(n+ 1)是在第i個位置上插入- -個結點的概率,則在長度為n的線性表中插入-個結點時,所需移動結點的平均次數為n/2

洗掉操作

洗掉順序表L中第i (1<=i<=L. length)個位置的元素,用參考變數e回傳,

bool ListDelete(SqList &L,int i,Elemtype &e){
    if(i<1||i>L.length)
        return false;
    e=L.data[i-1];
    for(int j=i,j<L.length;j++)
        L.data[j-1]=L.data[j];
    L.length--;
    return true;
}

最好情況:洗掉表尾元素(即i=n),無須移動元素,時間復雜度為0(1),

最壞情況:洗掉表頭元素(即i= 1),需移動除表頭元素外的所有元素,時間復雜度為O(n),

平均情況:假設pi (p= 1/n)是洗掉第i個位置上結點的概率,則在長度為n的線性表中洗掉一個結點時,所需移動結點的平均次數為n-1/2

按值查找【順序查找】

在順序表L中查找第一個元素值等于e的元素,并回傳其位序

int LocateElem(SqList L,ElemType e){
    int i;
    for(i=0;i<L.length;i++)
        if(L.data[i]==e)
            return i+1;    //下標為i的元素值等于e,回傳其位序1+1
        return 0;          //退出回圈,說明查找失敗
}

最好情況:查找的元素就在表頭,僅需比較一-次, 時間復雜度為0(1),

最壞情況:查找的元素在表尾(或不存在)時,需要比較n次,時間復雜度為O(n),

平均情況:假設p; (p;= 1/n)是查找的元素在第i (1<=i<=L. length)個位置上的概率,則在長度為n的線性表中查找值為e的元素所需比較的平均次數為n+1/2

線性表的鏈式表示

堆疊和佇列

堆疊

堆疊的定義

只允許在一端進行插入或洗掉操作的線性表

堆疊頂:線性表允許進行插入洗掉的那一端,

堆疊底:固定的,不允許進行插入和洗掉的另一端 ,

空堆疊:不含任何元素的空表,

堆疊的操作特性為后進先出

堆疊的基本操作

InitStack(&S):初始化一一個空堆疊S,

StackEmpty(S):判斷-一個堆疊是否為空,若堆疊s為空則回傳true,否則回傳false.

Push(&S,x):進堆疊,若堆疊s未滿,則將x加入使之成為新堆疊頂,

Pop(&S, &x):出堆疊,若堆疊s非空,則彈出堆疊頂元素,并用x回傳,

GetTop(S,&x):讀堆疊項元素,若堆疊s非空,則用x回傳堆疊頂元素,

DestroyStack(&S):銷毀堆疊,并釋放堆疊s占用的存盤空間(“ &”表示參考呼叫),

在解答演算法題時,若題千未做出限制,則可直接使用這些基本的操作函式,

順序堆疊的實作

采用順序存盤的堆疊稱為順序堆疊

利用一組地址連續的存盤單元存放自堆疊底到堆疊頂的資料元素,同時附設一個指標只是當前堆疊頂元素的位置

#define MaxSize 50
typedef struct{
    Elemtype data[Maxsize];
    int top;
}SqStack;

堆疊項指標: s. top,初始時設定s. top=-1P;堆疊頂元素: s .data [S. top].

進堆疊操作:堆疊不滿時,堆疊頂指標先加1,再送值到堆疊頂元素,

出堆疊操作:堆疊非空時,先取堆疊頂元素值,再將堆疊頂指標減1.

堆疊空條件: s. top==-1;堆疊滿條件: s. top==Maxsize-1;堆疊長: s. top+1.

由于順序堆疊的入堆疊操作受陣列上界的約束,當對堆疊的最大使用空間估計不足時,有可能發生堆疊上溢,此時應及時向用戶報告訊息,以便及時處理,避免出錯,

順序堆疊的基本運算

【1】初始化

void InitStack(SqStack &S){
    S.top=-1;    //初始化堆疊頂指標
}

【2】判堆疊空

bool StackEmpty(SqStack S){
    if(S.top==-1)
        return true;
    else
        return false;
}

【3】進堆疊

bool Push(SqStack &S,ElemType x){
    if(S.top==MaxSize-1)
        return false;
    S.data[++S.top]=x;
    return true;
}

當堆疊不滿時,top先加1,再入堆疊

【4】出堆疊

bool Pop(SqStack &S,ElemType &x){
    if(S.top==-1)
        return false;
    x=S.data[S.top--];
    return true;
}

【5】讀堆疊頂元素

bool GetTop(SqStack S,ElemType &x){
    if(S.top==-1)
        return false;
    x=S.data[S.top];
    return true;
}

注意:

這里top指向的是堆疊頂元素,

所以進堆疊操作為s .data[++S. top]=x,

出堆疊操作為x=s.data[s.top--].

 

若堆疊頂指標初始化為s. top=0,即top指向堆疊頂元素的下一位置,

則入堆疊操作變為s.data[s. top++]=x;

出堆疊操作變為x=s.data[--s.top].

相應的堆疊空、堆疊滿條件也會發生變化,

共享堆疊

利用堆疊底位置相對不變的特性,可讓兩個順序堆疊共享一個一維陣列空間,將兩個堆疊的堆疊底分別設定在共享空間的兩端,兩個堆疊頂向共享空間的中間延伸

兩個堆疊的堆疊項指標都指向堆疊頂元素,top0=-1 時0號堆疊為空,top1=MaxSize 時1號堆疊為空:

僅當兩個堆疊頂指標相鄰(top1-top0=1) 時,判斷為堆疊滿,當0號堆疊進堆疊時top0先加1再賦值,1號堆疊進堆疊時top1先減1再賦值;出堆疊時則剛好相反,

共享堆疊是為了更有效地利用存盤空間,兩個堆疊的空間相互調節,只有在整個存盤空間被占滿時才發生上溢,其存取資料的時間復雜度均為0(1),所以對存取效率沒有什么影響,

堆疊的鏈式存盤結構

采用鏈式存盤的堆疊稱為鏈堆疊

鏈堆疊的優點是便于多個堆疊共享存盤空間和提高其效率,且不存在堆疊滿上溢的情況,

通常采用單鏈表實作,并規定所有操作都是在單鏈表的表頭進行的,

這里規定鏈堆疊沒有頭結點,Lhead 指向堆疊頂元素

typedef struct Linknode{
    ElemType data;
    struct Linknode *next;
} *LiStack;

佇列

佇列的定義

【1】佇列【Queue】簡稱隊

【2】一種操作受限的線性表,只允許在表的一端進行插入,而在表的另一端進行洗掉

【3】向佇列中插入元素稱為入隊或進隊

【4】洗掉元素稱為出隊或離隊

【5】其操作特性是先進先出

【6】隊頭:允許洗掉的一端,又稱對手

【7】隊尾:允許插入的一端

【8】空佇列:不含任何元素的空表

佇列常見的基本操作

【1】InitQueue (&Q):初始化佇列,構造一個空佇列Q,

【2】QueueEmpty (Q):判佇列空,若佇列Q為慷訓傳true,否則回傳false.

【3】EnQueue (&Q,x):入隊,若佇列Q未滿,將x加入,使之成為新的隊尾,

【4】DeQueue (&Q, &x):出隊,若佇列e非空,洗掉隊頭元素,并用x回傳,

【5】GetHead(Q,&x):讀隊頭元素,若佇列Q非空,則將隊頭元素賦值給X,

【6】需要注意的是,堆疊和佇列是操作受限的線性表,因此不是任何對線性表的操作都可以作為堆疊和佇列的操作,比如,不可以隨便讀取堆疊或佇列中間的某個資料,

佇列的順序存盤

【1】佇列的順序實作是指分配一塊連續的存盤單元存放佇列中的元素,并附設兩個指標

【2】隊頭指標front指向對頭元素

【3】隊尾指標rear指向對偽元素的下一個位置

【4】佇列的順序存盤型別可描述為

查看代碼
#define MaxSize 50
typedef struct{
    ElemType data[MaxSize];
    int front,rear;
}   SqQueue;

初始狀態【隊空條件】:Q.front==Q.rear==0

進隊操作:隊不滿時,先送值到隊尾元素,再將隊尾指標加1

出隊操作:隊不空時,先取隊頭元素值,再將隊頭指標加1

所示為佇列的初始狀態,有Q.front==Q.rear==0成立

該條件可以作為佇列判空的條件

但不能用Q.rear==MaxSize作為佇列滿的條件

如圖,佇列中只有一個元素,但仍滿足條件

佇列出現上溢位,但是是假溢位

回圈佇列

【1】定義:將順序佇列臆造為一個環狀的空間,即把存盤佇列元素的表從邏輯上視為一個環

【2】當隊首指標Q.front=MaxSize-1后,再前進一個位置就自動到0,這可以利用除法取余運算來實作

【3】初始時:Q.front=Q.rear=0

【4】隊首指標進1:Q.front=(Q.front+1)%MaxSize;

【5】隊尾指標進1:Q.rear=(Q.rear+1)%MaxSize;

【6】佇列長度:(Q.rear+MaxSize-Q.front)%MaxSize;

【未完成】

回圈佇列的操作

【1】初始化

void InitQueue(SqQUEUE &q){
    Q.rear=Q.front=0;
}

【2】判隊空

bool isEmpty(SqQueue Q){
    if(Q.rear==Q.front)
        return true;
    else 
        return false;
}

【3】入隊

bool EnQueue(SqQueue &Q,ElemType x){
    if((Q.rear+1)%MaxSize==Q.front)    //隊滿則報錯
        return false;
    Q.data[Q.rear]=x;
    Q.rear=(Q.rear+1)%MaxSize;//隊尾指標加1取模
    return true;
}

【4】出隊

bool DeQueue(SqQueue &Q,ElemType &x){
    if(Q.rear==Q.front)
        return false;
    x=data[Q.front];
    Q.front=(Q.front+1)%MaxSize;
    return true;
}

佇列的鏈式存盤

 

鏈式佇列的基本操作

 

雙端佇列

 

堆疊和佇列的應用

堆疊在括號匹配中的應用

 

堆疊在運算式求值中的應用

 

堆疊在遞回中的應用

 

佇列在層次遍歷中的應用

 

佇列在計算機系統中的應用

 

特殊矩陣的壓縮存盤

陣列的定義

 

陣列的存盤結構

 

對稱矩陣

 

三角矩陣

 

三對角矩陣

 

稀疏矩陣

 

串的定義的實作

串的定義

 

定長順序存盤表示

 

堆分配存盤表示

 

塊鏈存盤表示

 

串的基本操作

 

串的模式匹配

簡單的模式匹配演算法

 

KMP演算法

 

KMP演算法的進一步優化

 

樹與二叉樹

樹的基本概念

樹的定義

 

基本術語

 

樹的性質

 

二叉樹的概念

二叉樹的定義

 

幾個特殊的二叉樹

 

二叉樹的性質

 

二叉樹的存盤結構

 

二叉樹的遍歷和線索二叉樹

二叉樹先序遍歷

 

二叉樹中序遍歷

 

二叉樹后序遍歷

 

遞回演算法和非遞回演算法的轉換

 

二叉樹層次遍歷

 

由遍歷序列構造二叉樹

 

線索二叉樹的基本概念

 

中序線索二叉樹的構造

 

中序線索二叉樹的遍歷

 

先序線索二叉樹和后續線索二叉樹

 

樹、森林

樹的存盤結構

 

樹、森林與二叉樹的轉換

 

樹和森林的遍歷

 

樹與二叉樹的應用

二叉排序樹的定義

 

二叉排序樹的查找

 

二叉排序樹的插入

 

二叉排序樹的構造

 

二叉排序樹的洗掉

 

二叉排序樹的查找效率分析

 

平衡二叉樹的定義

 

平衡二叉樹的插入

 

平衡二叉樹的查找

 

哈夫曼樹的定義

 

哈夫曼樹的構造

 

哈夫曼編碼

 

圖的基本概念

圖的定義

 

圖的基本概念和術語

 

圖的存盤及基本操作

鄰接矩陣法

 

鄰接表法

 

十字鏈表

 

鄰接多重表

 

圖的基本操作

 

圖的遍歷

BFS演算法的性能分析

 

BFS演算法求解單源最短路徑問題

 

廣度優先生成樹

 

DFS演算法的性能分析

 

深度優先的生成樹和生成森林

 

圖的遍歷與圖的連通性

 

圖的應用

Prim演算法

 

Kruskal演算法

 

Dijkstra演算法秋單源最短路徑問題

 

Floyd演算法求各頂點之間最短路徑問題

 

有向無環圖描述運算式

 

拓撲排序

 

關鍵路徑

 

查找

查找的基本概念

 

順序查找和折半查找

一般線性表的順序查找

 

有序表的順序查找

 

二分查找

 

分塊查找【索引順序查找】

 

B樹和B+樹

B樹及其基本操作

 

B樹的高度

 

B樹的查找

 

B樹的插入

 

B樹的洗掉

 

B+樹的基本概念

 

散串列

散串列的基本概念

 

散列函式的構造方法

 

處理沖突的方法

 

散列查找及性能分析

 

排序

排序的基本概念

 

插入排序

直接插入排序

 

折半插入插敘

 

希爾排序

 

交換排序

快速排序

 

冒泡排序

 

選擇排序

簡單選擇排序

 

堆排序

 

歸并排序和基數排序

歸并排序

 

基數排序

 

各種內部排序演算法的比較及應用

內部排序演算法的比較

 

內部排序演算法的應用

 

外部排序

外部排序的方法

 

多路平衡歸并與敗者樹

 

置換-選擇排序

 

最佳歸并樹

 
在黑夜里夢想著光,心中覆寫悲傷,在悲傷里忍受孤獨,空守一絲溫暖, 我的淚水是無底深海,對你的愛已無言,相信無盡的力量,那是真愛永在, 我的信仰是無底深海,澎湃著心中火焰,燃燒無盡的力量,那是忠誠永在

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/443473.html

標籤:其他

上一篇:無縫融入 Kubernetes 生態 | 云原生網關支持 Ingress 資源

下一篇:重磅 | 騰訊云服務網格開源專案 Aeraki Mesh 加入 CNCF 云原生全景圖

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more