1、陣列部分
雜湊表思想:
雜湊表也稱為雜湊表,是演算法終於時間和空間作出權衡的經典例子。
當乙個表所有的鍵都是小整數時,便可以使用乙個陣列來實現無序的符號表,將鍵作為陣列的索引而陣列i中所儲存的值就是該鍵所對應的鍵值,即key-value對應。
雜湊表的思想也是這樣子的,只是雜湊表的鍵的型別更為複雜而已。
使用雜湊表(雜湊查詢)分為兩步:
用雜湊函式將被查詢的鍵轉換為陣列的乙個索引。理想情況下,不同的鍵值都會轉換成為不同的索引值,但是一般情況下我們會遇到多個鍵對應相同的索引值,這也就是所謂的雜湊衝突。
c++陣列自動擴容(動態陣列)、有序陣列動態增刪改
public class myarray
public void add(int index,int num)
public void update(int index,int num)
public void resize(int p)
}int main()
;int b = ;
mergearray(a, b, 5, 3);
for (int i = 0; i < 3 + 5; i++)
return 0;
}description
example:
input: 19
output: true
explanation:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1escription
class solution
n = sum;
}return true;
}};
2、字串部分
trie字典樹的基本概念
trie樹是一種雜湊樹的變種,又稱字典樹,單詞查詢樹或者字首樹,用於儲存大量的字串,是一種用於快速檢索的多叉樹結構(如英文本母的字典樹是乙個26叉樹,數字的字典樹是乙個10叉樹)。
trie字典樹主要用於儲存字串,trie 的每個 node 儲存乙個字元。用鍊錶來描述的話,就是乙個字串就是乙個鍊錶。每個node都儲存了它的所有子節點。
// trie.cpp : 定義控制台應用程式的入口點。
//trie 稱為字典樹,單詞查詢樹或者字首樹
#include "stdafx.h"
#include
#include
using namespace std;
const int max_num = 26;
//trie 樹的結點型別
struct node
;//trie 樹型別
class trie
;trie::trie ()
trie::~trie ()
node* trie ::createnewnode( char ch )//建立乙個新的結點
return new_node ;
}void trie ::inittrie() //構建一棵空樹
int trie ::chartoindex( char ch )
int trie ::find( const char chars, int len )
node* ptr = root;
int i = 0;
while(i < len)
ptr = ptr ->child[ chartoindex(chars [i])];
i++;
}return (i == len) && ( ptr->completed == true);
}void trie ::insert( const char chars, int len ) //向 trie樹中插入長度為len的字串
ptr = ptr ->child[ chartoindex(chars [i])];
}ptr->completed = true;
}void trie ::delete() //利用遞迴刪除整棵樹
void trie ::deletetree( node *&root )//利用遞迴刪除整棵樹 注意此處應該加上應用
for (int i=0; ichild[ i] != null )
}// if(root->ch == ' ')
//
else
}if (j == lent)
else
}int main()
else
return 0;
}本文參考及學習資料:
資料結構程式設計學習/
雜湊表設計思想及實現:
資料結構與演算法(十一)trie字典樹
程式設計 資料結構
乙個優秀的程式設計師的基礎是什麼?資料結構和演算法。其實程式還有另外乙個定義 程式 資料結構 演算法 其實在計算機還沒發明之前,前人們是怎麼去做一件事的?操作手冊,其實操作手冊沒有把資料結構和演算法分開,比如根據操作手冊炒乙個菜 第一步 倒入50克菜油 第二步 加入5克食鹽 第三步 倒入300克青菜...
資料結構幾道程式設計題
先將其中乙個鍊錶的鏈頭按到另乙個鍊錶的尾部,如果他們有交集則會構成乙個環,題目等價於找鍊錶中的環的起始結點。找到後將鍊錶還原。一.兩個長鍊表求交點 考慮環 public listnode getintersectionnode listnode heada,listnode headb listno...
核心程式設計的資料結構
一 資料型別 1.字串 typedef struct unicode string ushort length 字串的長度 所佔的位元組數 ushort maxinumlength 字串緩衝區的長度 所能佔的最大位元組數 pwstr buffer 字串緩衝區 字串的位址,也即指標 unicode s...