JP2001357070A - 情報検索方法及び装置 - Google Patents
情報検索方法及び装置Info
- Publication number
- JP2001357070A JP2001357070A JP2000177389A JP2000177389A JP2001357070A JP 2001357070 A JP2001357070 A JP 2001357070A JP 2000177389 A JP2000177389 A JP 2000177389A JP 2000177389 A JP2000177389 A JP 2000177389A JP 2001357070 A JP2001357070 A JP 2001357070A
- Authority
- JP
- Japan
- Prior art keywords
- node
- storage area
- data
- stored
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
量を低減する。 【解決手段】パトリシアツリーを用いた情報検索方法に
おいて、ノードに対応するデータ2aを、検索キー2a1、
1つの他のノードへのリンクポインタ2a2、リンクポイ
ンタ2a2のリンク方向を示すリンク方向ビット2a3、検索
キー2a1中の検査対象となるデータ位置を示すキー検査
位置2a4、ノード固有情報へのポインタ2a5とから構成
し、ノード2aの1対の下位ノード2a1,2a2のデータを連
続した記憶領域に格納し、各ノードについて検索処理を
行う際に、リンク方向ビット2a3が“0”である場合に、
リンクポインタ2a2に格納されているリンクポインタが
示すノードが検索対象となるノードであると判定し、リ
ンク方向ビット2a3が“1”である場合に、検索キー2a1
中のキー検査位置2a4で指定される位置の値と、リンク
ポインタ2a2とに基づいて次に処理を行う下位ノードへ
のリンクポインタを決定する。
Description
であるパトリシアツリーを用いた情報検索に用いて好適
な情報検索方法及び装置に関する。
した大量の情報の中から、目的とする情報を探し出すた
めのシステムである。情報検索システムで用いられる検
索方式の1つにパトリシアツリー方式と呼ばれるものが
ある。パトリシア(Patricia,“Practical Algorithm
To Retrieve Information Code In Alphanumeric”)ツ
リーは良く知られた2分探索木の1種であり、パトリシ
アツリー方式の情報検索システムでは、あらかじめパト
リシアツリーによって各情報のインデックスを作成して
おき、このインデックスを検索することによって該当す
る情報が抽出される。例えば、パトリシアツリー方式の
全文検索システムでは、各文書内の全ての位置の文字を
始点とする半無限部分文字列が文字コード順に並べ替え
られてインデックスが作成され、検索キーの文字列がど
の半無限部分文字列と一致するかを判定することで検索
が行われる。この際、実際の検索処理では文字列はビッ
ト列として扱われる。
る情報検索方法の一例を説明する。図7はパトリシアツ
リーの一例を示す図であり、この場合、パトリシアツリ
ーはルートN0およびノードN1〜N7と、各ノードに
おいて比較されるビット位置の値“0”と“1”に対応
する各1対のリンク(あるいはエッジ)L1,L2,L
3,L4,…,L16を有して形成されている。この場
合、各ノードN1,N2,N3,…,N7には、各4ビ
ットのデータ“0000”,“0010”,“010
0”,…,“0111”が検索キーとして登録されてい
る。例えば、検索対象のデータが“0010”である場
合、ルートN0では次のノードとして検索対象データ
“0010”の最も左側のビット値“0”に対応するリ
ンクL1でつながれているノードN1が選択される。ノ
ードN1では、データ“0010”の左から2番目のビ
ット値“0”に対応するリンクL2でつながれているノ
ードN2が選択される。ノードN2では、左から3番目
のビット値“1”に対応するリンクL6でつながれてい
るノードN5が選択される。そして、ノードN5では、
左から4番目のビット値“0”に対応するリンクL11
でつながれているノードN2が再び選択されて、ノード
N2に対応する値が探索結果として抽出される。図7に
示すように、パトリシアツリー方式では、各ノードに検
索キーを置くことで、検索中の検索キー全体の比較を、
実質1回におさめることができるようになっている。
たような従来技術には次のような問題点があった。第1
の問題点は、各ノードに下位ノードへのリンクポインタ
を必ず2つ持つということである。その理由は、2分木
を形成するため検索キーのある部分のビット値“0”、
“1”それぞれに対応するノードをリンクする必要があ
るためである。第2の問題点は、検索終了を判定するた
めに同時に複数のノードの情報を参照する必要があると
いうことである。その理由は、パトリシアでは当該ノー
ドから次のノードへのリンクが上向きになった場合に検
索成功となるが、リンク先の次ノードの検索キーの検査
位置と当該ノードの検索キーの検査位置を比較するた
め、当該ノードの情報を保存しておく必要があるためで
ある。これらの問題点はパトリシアツリーを構成する際
のメモリ使用量の増大、および複数のノードの情報へア
クセスするための処理手順の増加という影響を及ぼす。
たものであって、従来に比べ、処理手順を減少させてノ
ード検索の高速化を図るとともに、メモリ使用量を低減
することができる情報検索方法及び装置を提供すること
を目的とする。
め、請求項1記載の発明は、2分探索木を用いた情報検
索方法において、各ノードに対応するデータの記憶領域
を、キーを示すデータを格納する第1の記憶領域と、1
つの他のノードへのリンクポインタを格納する第2の記
憶領域と、第2の記憶領域に格納したリンクポインタの
リンク方向を示すデータを格納する第3の記憶領域と、
第1の記憶領域に格納したデータの中の検査対象となる
データの位置を示すデータを格納する第4の記憶領域と
から構成し、前記各ノードに対応するデータのうち、共
通のノードを上位のノードとする1対の下位ノードに対
応する1組のデータを連続した記憶領域に格納し、各ノ
ードについて検索処理を行う際に、第3の記憶領域に格
納されている値が第1の所定の値である場合、第2の記
憶領域に格納されているリンクポインタが示すノードが
検索対象となるノードであると判定し、第3の記憶領域
に格納されている値が第1の所定の値と異なる第2の所
定の値である場合、第1の記憶領域中のデータの第4の
記憶領域中のデータで指定される位置のデータと、第2
の記憶領域に格納されているリンクポインタとに基づい
て次に処理を行う下位ノードへのリンクポインタを決定
することを特徴とする。請求項2記載の発明は、各ノー
ドについて検索処理を行う際に、前記第3の記憶領域に
格納されている値が前記第1の所定の値である場合で、
前記第2の記憶領域にリンクポインタが格納されていな
いときは、検索失敗であると判定することを特徴とす
る。
位ノードへのリンクポインタを決定する際に、前記第1
の記憶領域中のデータの前記第4の記憶領域中のデータ
で指定される位置のデータが第3の所定の値である場合
に第2の記憶領域に格納されているリンクポインタを下
位ノードへのリンクポインタとし、前記第1の記憶領域
中のデータの前記第4の記憶領域中のデータで指定され
る位置のデータが第3の所定の値と異なる第4の所定の
値である場合に第2の記憶領域に格納されているリンク
ポインタに予め決められた第5の所定の値を加えた値を
下位ノードへのリンクポインタとすることを特徴とす
る。請求項4記載の発明は、前記各ノードに対応するデ
ータの記憶領域が、さらに各ノード固有情報へのポイン
タを格納する第5の記憶領域を有し、前記第3の記憶領
域に格納されている値が前記第1の所定の値であって、
かつ前記第1の記憶領域にキーを示すデータを格納する
ノードに対応する第5の記憶領域にノード固有情報への
ポインタが格納されていることを特徴とする。請求項5
記載の発明は、さらに、前記第3の記憶領域に格納され
ている値が前記第2の所定の値であって、かつ前記第2
の記憶領域に、前記第1の記憶領域にキーを示すデータ
を格納されているノードに対応するリンクポインタが格
納されているノードに対応する前記第5の記憶領域に、
リンク先ノードと同一のノード固有情報へのポインタが
格納されていることを特徴とする。
た情報検索装置において、キーを示すデータを格納する
第1の記憶領域と、1つの他のノードへのリンクポイン
タを格納する第2の記憶領域と、第2の記憶領域に格納
したリンクポインタのリンク方向を示すデータを格納す
る第3の記憶領域と、第1の記憶領域に格納したデータ
の中の検査対象となるデータの位置を示すデータを格納
する第4の記憶領域とから構成された各ノードに対応す
るデータの記憶領域を有するものであって、かつ 前記
各ノードに対応するデータのうち、共通のノードを上位
のノードとする1対の下位ノードに対応する1組のデー
タを連続した記憶領域に格納する記憶手段と、各ノード
について検索処理を行う際に、第3の記憶領域に格納さ
れている値が第1の所定の値である場合、第2の記憶領
域に格納されているリンクポインタが示すノードが検索
対象となるノードであると手段と、第3の記憶領域に格
納されている値が第1の所定の値と異なる第2の所定の
値である場合、第1の記憶領域中のデータの第4の記憶
領域中のデータで指定される位置のデータと、第2の記
憶領域に格納されているリンクポインタとに基づいて次
に処理を行う下位ノードへのリンクポインタを決定する
手段とを備えることを特徴とする。
施の形態について説明する。図1は、本実施の形態にお
けるパトリシアツリーのノードの構造を示す説明図であ
る。図1を参照すると、本発明ではパトリシアツリーの
ノード2aは検索キー2a1、リンクポインタ2a2、
リンク方向ビット2a3、キー検査位置2a4、ノード
(エントリ)固有情報へのポインタ2a5を含んでい
る。また、他の各ノード2b1,2b2も、同様に、検
索キー2b11,2b21、リンクポインタ2b12,
2b22、リンク方向ビット2b13,2b23、キー
検査位置2b14,2b24、ノード固有情報へのポイ
ンタ2b15,2b25をそれぞれ含んでいる。パトリ
シアツリーはまた、定数としてノード長29を所定の記
憶領域に保持する。
れぞれパトリシアツリーを構成する検索キーとして使用
される。リンクポインタ2a2,2b12,2b22は
それぞれ上位ノードまたは下位ノードへのポインタを格
納する。リンク方向ビット2a3,2b13,2b23
はそれぞれリンクポインタ2a2,2b12,2b22
に格納されたポインタの性質を規定し、リンク方向ビッ
ト2a3,2b13,2b23が“0”の場合はリンク
ポインタ2a2,2b12,2b22がNULLまたは
上位ノードの先頭ポインタを格納し、リンク方向ビット
2a3,2b13,2b23が“1”の場合はリンクポ
インタ2a2,2b12,2b22が左下位ノードの先
頭ポインタを格納する。図1に示す例では、ノード2a
は、検索キー2a1としてパトリシアツリーを構成する
検索キーを保持し、リンクポインタ2a2として左下位
ノード2b1へのポインタを格納している。この場合リ
ンク方向ビット2a3には“1”が格納されている。
はそれぞれパトリシアツリーの各ノードにおける検索対
象28の中の左側を起点とした検査位置(ビット位置)
を格納する。ノード固有情報へのポインタ2a5,2b
1,2b2はそれぞれ検索成功で終了した後の処理で使
用する管理情報へのポインタを格納する。ノード固有情
報へのポインタ2a5,2b1,2b2が検索処理の途
中で参照されることはない。本実施の形態では、roo
t(ルート)ノードを除き各ノードは図1の左下位ノー
ド2b1と右下位ノード2b2のように常に2つのノー
ドが記憶領域中で連続した領域を占めるように配置され
る。したがって、左下位ノード2b1へのポインタを格
納しているリンクポインタ2a2に、ノード長29を加
えることで、右下位ノード2b2のポインタの値を得る
ことができる。検索対象28は検索キー2a1,2b1
1,2b21と同一の大きさで検索の対象となる値を格
納する。ここでは、各データがビット列として扱われて
いる。ノード長29はノード2a,2b1,2b2の長
さ(データ長)を格納する。ただし、2つのノードの配
置の仕方は上記のものに限定されず、例えば、右下位ノ
ードと左下位ノードの位置を入れ替えたり、リンクポイ
ンタの値を右下位ノードに対応するものとしてそこから
ノード長を減じることで左下位ノードに対応する値を得
るようにしてもよい。
作について図4に示すフローチャートを参照して説明す
る。本実施の形態における検索処理は、所定の記憶装置
を備えたCPU(中央処理装置)によって実行される。
検索対象、各ノード、およびノード長のデータは、検索
処理の際、その記憶装置内に格納される。また、CPU
によって実行されるプログラムは、コンピュータ読み取
り可能な記録媒体あるいは通信回線を介して頒布するこ
とが可能である。図2の構成において、検索対象28と
ノード2aについての検索動作は、まずノード2aのリ
ンク方向ビット2a3を調べることから開始される(図
4のステップS1)。リンク方向ビット2a3が“0”
の場合は次にリンクポインタ2a2を調べる(ステップ
S6)。リンク方向ビット2a3が“0”の場合でリン
クポインタ2a2がNULLのときは該当するノードが
存在しないことになるので検索失敗となり検索動作を終
了する。リンク方向ビット2a3が“0”の場合でリン
クポインタ2a2がNULL以外のときはそのポインタ
の指すノードが検索対象28と一致する検索キーを持つ
ノードなので、リンクポインタ2a2の指すノード(こ
の場合図示していない上位のノード)の内容を読み込ん
で(ステップS7)、ノード固有情報へのポインタの指
すノード固有情報を得て(ステップS8)検索成功とな
り検索動作を終了する。
ク方向ビット2a3が“1”の場合は検索続行となる。
検索対象28の左側を起点としたキー検査位置2a4の
示す位置の値を調べる(ステップS2,S3)。検査対
象28の中のキー検査位置2a4の示す位置の値が
“1”ならば、パトリシアツリーの右下位ノードをたど
る事を意味するので、リンクポインタ2a2にノード長
29を加えた値をポインタとして、そのポインタの指す
内容を右下位ノードの内容として新しく読み込む(ステ
ップS4)。検索対象28のキー検査位置2a4の示す
位置の値が“0”ならばパトリシアツリーの左下位ノー
ドをたどる事を意味するので、リンクポインタ2a2の
指す内容を左下位ノードの内容として読み込む(ステッ
プS5)。ステップS1からステップS5までの検索動
作をリンク方向ビット2a3,2b13,2b23,…
が“0”になるまで繰り返す。
表現、及び図4のフローチャートを参照して本実施の形
態の動作について具体例を示して詳細に説明する。この
例では、パトリシアツリーのうち、3つの下位ノードが
図2、図3のように構成されているものとする。図2は
各ノードの持つ値と相互の位置関係、図3はそのパトリ
シアツリー表現である。また図1の検索対象28に対応
する検査対象30のキーには“00110”が、図1の
ノード長29に対応するノード長31には各ノードのノ
ード長が設定されている。図2に示すノード3a1およ
びノード3a2は図示していない上位のノードからリン
クされた左下位および右下位のノードである。ただしノ
ード3a2は図3では図示を省略している。
ー3a11にデータ“00100”が、リンクポインタ
3a12にノード3b1へのポインタ(図2および図3
のリンクL1)が、リンク方向ビット3a13に“1”
が、キー検索位置3a14に“3”が、そして、ノード
固有情報へのポインタ3a15にノード固有情報4aへ
のポインタが、それぞれ格納されている。ノード3b1
では、リンクポインタ3b12にNULLが、リンク方
向ビット3b13に“0”がそれぞれ格納されている。
ノード3b2では、検索キー3b21にデータ“001
10”が、リンクポインタ3b22にノード3c1への
ポインタ(リンクL2)が、リンク方向ビット3b23
に“1”が、キー検索位置3b24に“4”が、そし
て、ノード固有情報へのポインタ3b25にノード固有
情報4aへのポインタが、それぞれ格納されている。
2にノード3a1へのポインタ(リンクL3)が、リン
ク方向ビット3c13に“0”が、それぞれ格納されて
いる。ノード3c2では、検索キー3b21にデータ
“00111”が、リンクポインタ3c22にノード3
d1へのポインタ(リンクL4)が、リンク方向ビット
3c23に“1”が、キー検索位置3c24に“5”
が、そして、ノード固有情報へのポインタ3c25にノ
ード固有情報4cへのポインタが、それぞれ格納されて
いる。ノード3d1では、リンクポインタ3d12にノ
ード3b2へのポインタ(リンクL6)が、リンク方向
ビット3d13に“0”が、それぞれ格納されている。
ノード3d2では、リンクポインタ3d22にノード3
c2へのポインタ(リンクL5)が、リンク方向ビット
3d23に“0”が、それぞれ格納されている。
て、図2および図3に示すノードに関する検索動作につ
いて説明する。今、与えられた検索対象30“0011
0”についてノード3a1との比較を行うとする。この
場合、まずリンク方向ビット3a13を調べる(ステッ
プS1)。この値は“1”なので検索続行となる。下位
ノードをたどるため、次にキー検索位置3a14を調べ
ると値が“3”なので、検索対象30の左から3番目の
値を調べる(ステップS2、S3)。すると値は“1”
なので、右下位ノード3b2をたどるために、リンクポ
インタ3a12にノード長31の値を加えた値を次のノ
ードへのポインタとして内容を読み込み、新しいノード
としてノード3b2を得る(ステップS5)。
テップS1)、値が“1”なので検索続行となる。キー
検索位置3b24の値が“4”なので、検索対象30の
左から4番目の値を調べる(ステップS2、S3)。す
ると値は“1”なので、右下位ノード3c2をたどるた
めにリンクポインタ3b22にノード長31の値を加え
た値を次のノードへのポインタとして内容を読み込み、
新しいノードとしてノード3c2を得る(ステップS
5)。
c24から左下位ノード3d1を得るが、このノードの
リンク方向ビット3d13を調べると(ステップS1)
値が“0”なので次にリンクポインタ3d12を調べる
(ステップS6)。すると値はNULLではないのでリ
ンクポインタ3d12の指すノード3b2が検索対象ノ
ードとなり、ノード3b2の内容を読み込む(ステップ
S7)。最後にノード固有情報へのポインタ3b25の
指すノード固有情報を得て(ステップS8)検索を終了
する。
5および図6を参照して詳細に説明する。図5を参照す
ると、本実施の形態は、上記実施の形態と比較して、リ
ンク方向ビットが“1”であって、検索キーを持ってい
るノード3a1、3b2、3c2がそれぞれノード固有
情報4a,4b,4cへのポインタ3a15、3b2
5、3c25を持つとともに、他のノードへのリンクポ
インタ3a12,3b22,3c22を持つ点では一致
しているものの、リンク方向ビットが“0”であって、
検索キーを持っているノード3a1、3b2、3c2を
リンク先とするノード3c1,3d1,3d2もそれぞ
れリンク先のノード3a1、3b2、3c2と同じノー
ド固有情報4a,4b,4cを指すポインタ3c15,
3d15,3d25を有する点で異なっている。
実施の形態の全体の動作について詳細に説明する。図6
のステップS1〜S5で示される本実施の形態における
動作は、図2〜図4で示された上記の実施の形態のステ
ップS1〜S5と同一のため、説明は省略する。図6に
示すフローチャートは、図5に示すフローチャートのス
テップS7の処理を省略したものである。図2に示され
た実施の形態では、リンク方向ビットが“0”でかつリ
ンクポインタがNULLでない場合はさらにリンクポイ
ンタの指す検索対象ノードを読み込んだ後にノード固有
情報を得ていた。本実施の形態ではリンク方向ビットが
“0”でかつリンクポインタがNULLでないノードに
もノード固有情報へのポインタを設定する。
すフローにおいて図2と同様に検索対象30のキー“0
0110”について検索処理を行っていくと、ノード3
d1を得たところでリンク方向ビット3d13が“0”
となるなので、リンクポインタ3d12を調べる(図6
のステップS1、S6)。するとリンクポインタ3d1
2の値はNULLでないのでノード3d1は検索対象ノ
ードを指すリンクポインタを持つことになる。そこで、
検索対象ノードと同じ値をもつノード固有情報へのポイ
ンタ3d15の指すノード固有情報4bを読み込んで
(ステップS7)検索成功となる。
“0”でかつリンクポインタがNULLでないノード
が、リンクポインタが示すノードと同一のノード固有情
報へのポインタを持つよう構成する必要があるが、検索
成功時のノード読み込み処理を1ステップ減らせるた
め、より高速に検索処理が行えるという新たな効果を有
する。
分探索木の1種であるパトリシアツリーにおいて従来に
比べノード検索を高速に行える構成を提供できる。本発
明についてその特徴をまとめると以下のようになる。図
1において、本発明ではパトリシアツリーを構成するノ
ード2aについて、通常の2分木では2つ必要となる下
位ノードへのリンクポインタを1つだけリンクポインタ
2a2として持たせる。リンクポインタ2a2は左方向
の下位ノードのポインタであり、かつノード長28を加
えて右方向の下位ノードのポインタとしても解釈され
る。リンク先の選択は、検索キー2a1の中の、左を起
点としたキー検査位置2a4の示す値によって区別され
る。
2a2を調べ、NULLならば検索失敗となり処理を終
了する。NULL以外ならば次にリンク方向ビット2a
3を調べ、“0”ならばそのポインタの示すノードが検
索対象となるノードであり検索成功となる。“1”なら
ば検索を続行し、検索対象28の中のキー検査位置2a
4の示す位置の値とリンクポインタ2a3の組み合わせ
により次の下位ノードへのポインタを決定する。このよ
うに当該ノード以外の記憶領域の参照、およびノードの
内容の退避処理などを行うことなく当該ノード上の情報
だけでパトリシアツリー検索の続行/成功/失敗を判定
することができるため、メモリ読み込み時間の短縮およ
び複数記憶領域の使用に伴う処理手順の削減によりノー
ド検索を高速に行うことを可能にする。
ツリーにおいてノード検索が高速に行えることにある。
その理由は、各ノードでリンク方向ビットを持つことに
より該ノード上の情報のみで検索続行/成功/失敗が判
定できるためである。第2の効果は、パトリシアツリー
を構成する際のメモリ使用量が低減できることにある。
その理由は、左右下位ノードが常に連続した記憶領域を
占めるよう構成されるため、ノード長情報を独立して保
持しておくことにより各ノードに左右下位ノードへのポ
インタを1つだけ持てばよいためである。
リーのノードの構造例を示す説明図。
値と相互の位置関係を示す説明図。
で示す説明図。
作を示すフローチャート。
明図。
動作を示すフローチャート。
ーのノードの構造例を示す説明図。
2,3c1,3c2,3d1,3d2…ノード 2a1,2b11,2b21,3a11,3b21,3
c21…検索キー 2a2,2b12,2b22,3a12,3b22,3
c12,3c22,3d12,3d22…リンクポイン
タ 2a3,2b13,2b23,3a13,3b13,3
b23,3c13,3c23,3d13,3d23…リ
ンク方向ビット 2a4,2b14,2b24,3a14,3b24,3
c24…キー検査位置 2a5,2b15,2b25,3a15,3b25,3
c25…ノード固有情報へのポインタ 28,30…検索対象 29,31…ノード長
Claims (6)
- 【請求項1】 2分探索木を用いた情報検索方法におい
て、 各ノードに対応するデータの記憶領域を、キーを示すデ
ータを格納する第1の記憶領域と、1つの他のノードへ
のリンクポインタを格納する第2の記憶領域と、第2の
記憶領域に格納したリンクポインタのリンク方向を示す
データを格納する第3の記憶領域と、第1の記憶領域に
格納したデータの中の検査対象となるデータの位置を示
すデータを格納する第4の記憶領域とから構成し、 前記各ノードに対応するデータのうち、共通のノードを
上位のノードとする1対の下位ノードに対応する1組の
データを連続した記憶領域に格納し、 各ノードについて検索処理を行う際に、 第3の記憶領域に格納されている値が第1の所定の値で
ある場合、第2の記憶領域に格納されているリンクポイ
ンタが示すノードが検索対象となるノードであると判定
し、 第3の記憶領域に格納されている値が第1の所定の値と
異なる第2の所定の値である場合、第1の記憶領域中の
データの第4の記憶領域中のデータで指定される位置の
データと、第2の記憶領域に格納されているリンクポイ
ンタとに基づいて次に処理を行う下位ノードへのリンク
ポインタを決定することを特徴とする情報検索方法。 - 【請求項2】 各ノードについて検索処理を行う際に、
前記第3の記憶領域に格納されている値が前記第1の所
定の値である場合で、前記第2の記憶領域にリンクポイ
ンタが格納されていないときは、検索失敗であると判定
することを特徴とする請求項1記載の情報検索方法。 - 【請求項3】 次に処理を行う下位ノードへのリンクポ
インタを決定する際に、前記第1の記憶領域中のデータ
の前記第4の記憶領域中のデータで指定される位置のデ
ータが第3の所定の値である場合に第2の記憶領域に格
納されているリンクポインタを下位ノードへのリンクポ
インタとし、前記第1の記憶領域中のデータの前記第4
の記憶領域中のデータで指定される位置のデータが第3
の所定の値と異なる第4の所定の値である場合に第2の
記憶領域に格納されているリンクポインタに予め決めら
れた第5の所定の値を加えた値を下位ノードへのリンク
ポインタとすることを特徴とする請求項1又は2記載の
情報検索方法。 - 【請求項4】 前記各ノードに対応するデータの記憶領
域が、さらに各ノード固有情報へのポインタを格納する
第5の記憶領域を有し、 前記第3の記憶領域に格納されている値が前記第1の所
定の値であって、かつ前記第1の記憶領域にキーを示す
データを格納するノードに対応する第5の記憶領域にノ
ード固有情報へのポインタが格納されていることを特徴
とする請求項1〜3のいずれか1項に記載の情報検索方
法。 - 【請求項5】 さらに、前記第3の記憶領域に格納され
ている値が前記第2の所定の値であって、かつ前記第2
の記憶領域に、前記第1の記憶領域にキーを示すデータ
を格納されているノードに対応するリンクポインタが格
納されているノードに対応する前記第5の記憶領域に、
リンク先ノードと同一のノード固有情報へのポインタが
格納されていることを特徴とする請求項4記載の情報検
索方法。 - 【請求項6】 2分探索木を用いた情報検索装置におい
て、 キーを示すデータを格納する第1の記憶領域と、1つの
他のノードへのリンクポインタを格納する第2の記憶領
域と、第2の記憶領域に格納したリンクポインタのリン
ク方向を示すデータを格納する第3の記憶領域と、第1
の記憶領域に格納したデータの中の検査対象となるデー
タの位置を示すデータを格納する第4の記憶領域とから
構成された各ノードに対応するデータの記憶領域を有す
るものであって、かつ 前記各ノードに対応するデータ
のうち、共通のノードを上位のノードとする1対の下位
ノードに対応する1組のデータを連続した記憶領域に格
納する記憶手段と、 各ノードについて検索処理を行う際に、 第3の記憶領域に格納されている値が第1の所定の値で
ある場合、第2の記憶領域に格納されているリンクポイ
ンタが示すノードが検索対象となるノードであると手段
と、 第3の記憶領域に格納されている値が第1の所定の値と
異なる第2の所定の値である場合、第1の記憶領域中の
データの第4の記憶領域中のデータで指定される位置の
データと、第2の記憶領域に格納されているリンクポイ
ンタとに基づいて次に処理を行う下位ノードへのリンク
ポインタを決定する手段とを備えることを特徴とする情
報検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000177389A JP3601416B2 (ja) | 2000-06-13 | 2000-06-13 | 情報検索方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000177389A JP3601416B2 (ja) | 2000-06-13 | 2000-06-13 | 情報検索方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001357070A true JP2001357070A (ja) | 2001-12-26 |
JP3601416B2 JP3601416B2 (ja) | 2004-12-15 |
Family
ID=18678995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000177389A Expired - Fee Related JP3601416B2 (ja) | 2000-06-13 | 2000-06-13 | 情報検索方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3601416B2 (ja) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003224581A (ja) * | 2002-01-31 | 2003-08-08 | Nippon Telegr & Teleph Corp <Ntt> | 最長一致検索回路および方法およびプログラムおよび記録媒体 |
JP2006521639A (ja) * | 2003-03-10 | 2006-09-21 | ユニシス コーポレイシヨン | インタロック状態のツリーデータストアにデータを記憶し、このデータにアクセスするためのシステムおよび方法 |
JP2006522984A (ja) * | 2003-03-10 | 2006-10-05 | ユニシス コーポレイシヨン | インタロック状態のツリーデータストアにデータを記憶し、このデータにアクセスするためのシステムおよび方法 |
KR100777081B1 (ko) | 2006-06-19 | 2007-11-16 | 부산대학교 산학협력단 | 웹 환경에서 래티스 구조의 정보를 탐색하는 방법 및시스템 |
WO2008004335A1 (fr) | 2006-07-07 | 2008-01-10 | S.Grants Co., Ltd. | dispositif de recherche de séquence de bits, procédé de recherche et programme |
WO2008053583A1 (fr) * | 2006-10-30 | 2008-05-08 | S.Grants Co., Ltd. | Procédé et programme de recherche de séquence de bits |
WO2008065735A1 (fr) | 2006-11-28 | 2008-06-05 | S.Grants Co., Ltd. | Procédé de division/connexion pour un arbre de nœuds couplé et programme |
WO2008090588A1 (ja) * | 2007-01-24 | 2008-07-31 | S. Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
WO2008132806A1 (ja) | 2007-04-19 | 2008-11-06 | S.Grants Co., Ltd. | カップルドノードツリーの退避/復元方法、最長一致/最短一致検索方法、ビット列検索方法及び記憶媒体 |
JP2008269197A (ja) * | 2007-04-19 | 2008-11-06 | S Grants Co Ltd | カップルドノードツリーの退避/復元方法及びプログラム |
JP2008287533A (ja) * | 2007-05-18 | 2008-11-27 | S Grants Co Ltd | カップルドノードツリーの最長一致/最短一致検索方法及びプログラム |
WO2009004796A1 (ja) | 2007-07-03 | 2009-01-08 | S.Grants Co., Ltd. | ビット列検索方法及びプログラム |
WO2009034689A1 (ja) * | 2007-09-14 | 2009-03-19 | S.Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
WO2009072233A1 (ja) | 2007-12-05 | 2009-06-11 | S.Grants Co., Ltd. | ビット列のマージソート装置、方法及びプログラム |
JP2009134744A (ja) * | 2009-01-30 | 2009-06-18 | S Grants Co Ltd | ビット列検索装置 |
WO2009084145A1 (ja) | 2007-12-28 | 2009-07-09 | S.Grants Co., Ltd. | データベースのインデックスキー更新方法及びプログラム |
WO2009090697A1 (ja) | 2008-01-17 | 2009-07-23 | S.Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
WO2009122651A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
WO2009141941A1 (ja) * | 2008-05-18 | 2009-11-26 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
US8150856B2 (en) | 2006-07-07 | 2012-04-03 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
US8250076B2 (en) | 2007-04-25 | 2012-08-21 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
JP2013196489A (ja) * | 2012-03-21 | 2013-09-30 | Nintendo Co Ltd | データ構造、データ構造生成方法、情報処理装置、情報処理システム、及び情報処理プログラム |
JP2015118643A (ja) * | 2013-12-20 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トライ木構造を有するレコード群を高い効率でマージソートする方法、装置及びコンピュータプログラム |
-
2000
- 2000-06-13 JP JP2000177389A patent/JP3601416B2/ja not_active Expired - Fee Related
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003224581A (ja) * | 2002-01-31 | 2003-08-08 | Nippon Telegr & Teleph Corp <Ntt> | 最長一致検索回路および方法およびプログラムおよび記録媒体 |
JP2006521639A (ja) * | 2003-03-10 | 2006-09-21 | ユニシス コーポレイシヨン | インタロック状態のツリーデータストアにデータを記憶し、このデータにアクセスするためのシステムおよび方法 |
JP2006522984A (ja) * | 2003-03-10 | 2006-10-05 | ユニシス コーポレイシヨン | インタロック状態のツリーデータストアにデータを記憶し、このデータにアクセスするためのシステムおよび方法 |
KR100777081B1 (ko) | 2006-06-19 | 2007-11-16 | 부산대학교 산학협력단 | 웹 환경에서 래티스 구조의 정보를 탐색하는 방법 및시스템 |
WO2008004335A1 (fr) | 2006-07-07 | 2008-01-10 | S.Grants Co., Ltd. | dispositif de recherche de séquence de bits, procédé de recherche et programme |
US8073874B2 (en) | 2006-07-07 | 2011-12-06 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
CN101484895B (zh) * | 2006-07-07 | 2011-12-28 | 新叶股份有限公司 | 比特序列检索装置以及检索方法 |
US8150856B2 (en) | 2006-07-07 | 2012-04-03 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
WO2008053583A1 (fr) * | 2006-10-30 | 2008-05-08 | S.Grants Co., Ltd. | Procédé et programme de recherche de séquence de bits |
WO2008065735A1 (fr) | 2006-11-28 | 2008-06-05 | S.Grants Co., Ltd. | Procédé de division/connexion pour un arbre de nœuds couplé et programme |
US8224861B2 (en) | 2006-11-28 | 2012-07-17 | S. Grants Co., Ltd. | Coupled node tree splitting/conjoining method and program |
CN101589390B (zh) * | 2007-01-24 | 2012-07-04 | 新叶股份有限公司 | 比特序列检索装置、检索方法 |
US8190591B2 (en) | 2007-01-24 | 2012-05-29 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
WO2008090588A1 (ja) * | 2007-01-24 | 2008-07-31 | S. Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
JP4514768B2 (ja) * | 2007-04-19 | 2010-07-28 | 株式会社エスグランツ | カップルドノードツリーの退避/復元装置、退避/復元方法及びプログラム |
US8386526B2 (en) | 2007-04-19 | 2013-02-26 | KOUSOKUYA, Inc. | Coupled node tree backup/restore apparatus, backup/restore method, and program |
WO2008132806A1 (ja) | 2007-04-19 | 2008-11-06 | S.Grants Co., Ltd. | カップルドノードツリーの退避/復元方法、最長一致/最短一致検索方法、ビット列検索方法及び記憶媒体 |
JP2008269197A (ja) * | 2007-04-19 | 2008-11-06 | S Grants Co Ltd | カップルドノードツリーの退避/復元方法及びプログラム |
US8250076B2 (en) | 2007-04-25 | 2012-08-21 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
US8214405B2 (en) | 2007-05-18 | 2012-07-03 | S. Grants Co., Ltd. | Longest-match/shortest-match search apparatus, search method, and program |
JP4514771B2 (ja) * | 2007-05-18 | 2010-07-28 | 株式会社エスグランツ | カップルドノードツリーの最長一致/最短一致検索装置、検索方法及びプログラム |
JP2008287533A (ja) * | 2007-05-18 | 2008-11-27 | S Grants Co Ltd | カップルドノードツリーの最長一致/最短一致検索方法及びプログラム |
US8145665B2 (en) | 2007-07-03 | 2012-03-27 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
CN101689204B (zh) * | 2007-07-03 | 2012-07-25 | 新叶股份有限公司 | 比特序列检索方法以及程序 |
JP2009015530A (ja) * | 2007-07-03 | 2009-01-22 | S Grants Co Ltd | ビット列検索方法及びプログラム |
WO2009004796A1 (ja) | 2007-07-03 | 2009-01-08 | S.Grants Co., Ltd. | ビット列検索方法及びプログラム |
JP4527753B2 (ja) * | 2007-07-03 | 2010-08-18 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
WO2009034689A1 (ja) * | 2007-09-14 | 2009-03-19 | S.Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
JP2010198632A (ja) * | 2007-09-14 | 2010-09-09 | S Grants Co Ltd | カップルドノードツリーの分割/結合方法及びプログラム |
JP4545231B2 (ja) * | 2007-09-14 | 2010-09-15 | 株式会社エスグランツ | カップルドノードツリーの分割/結合方法及びプログラム |
JPWO2009034689A1 (ja) * | 2007-09-14 | 2010-12-24 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
JP4527807B2 (ja) * | 2007-09-14 | 2010-08-18 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
US8250089B2 (en) | 2007-09-14 | 2012-08-21 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
JP2009140161A (ja) * | 2007-12-05 | 2009-06-25 | S Grants Co Ltd | ビット列のマージソート方法及びプログラム |
WO2009072233A1 (ja) | 2007-12-05 | 2009-06-11 | S.Grants Co., Ltd. | ビット列のマージソート装置、方法及びプログラム |
JP4502223B2 (ja) * | 2007-12-05 | 2010-07-14 | 株式会社エスグランツ | ビット列のマージソート装置、方法及びプログラム |
US8332410B2 (en) | 2007-12-05 | 2012-12-11 | KOUSOKUYA, Inc. | Bit string merge sort device, method, and program |
JP4498409B2 (ja) * | 2007-12-28 | 2010-07-07 | 株式会社エスグランツ | データベースのインデックスキー更新方法及びプログラム |
US8103697B2 (en) | 2007-12-28 | 2012-01-24 | S. Grants Co., Ltd. | Database index key update method and program |
JP2009157853A (ja) * | 2007-12-28 | 2009-07-16 | S Grants Co Ltd | データベースのインデックスキー更新方法及びプログラム |
WO2009084145A1 (ja) | 2007-12-28 | 2009-07-09 | S.Grants Co., Ltd. | データベースのインデックスキー更新方法及びプログラム |
US8195667B2 (en) | 2008-01-17 | 2012-06-05 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
WO2009090697A1 (ja) | 2008-01-17 | 2009-07-23 | S.Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
WO2009122651A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
JP2009277164A (ja) * | 2008-05-18 | 2009-11-26 | S Grants Co Ltd | ビット列検索装置、検索方法及びプログラム |
US8166043B2 (en) | 2008-05-18 | 2012-04-24 | S. Grants Co., Ltd. | Bit strings search apparatus, search method, and program |
WO2009141941A1 (ja) * | 2008-05-18 | 2009-11-26 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
JP4514810B2 (ja) * | 2008-05-18 | 2010-07-28 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
JP2009134744A (ja) * | 2009-01-30 | 2009-06-18 | S Grants Co Ltd | ビット列検索装置 |
JP2013196489A (ja) * | 2012-03-21 | 2013-09-30 | Nintendo Co Ltd | データ構造、データ構造生成方法、情報処理装置、情報処理システム、及び情報処理プログラム |
JP2015118643A (ja) * | 2013-12-20 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トライ木構造を有するレコード群を高い効率でマージソートする方法、装置及びコンピュータプログラム |
US9612799B2 (en) | 2013-12-20 | 2017-04-04 | International Business Machines Corporation | Method, device, and computer program for merge-sorting record groups having tree structure efficiently |
US10228907B2 (en) | 2013-12-20 | 2019-03-12 | International Business Machines Corporation | Method, device, and computer program for merge-sorting record groups having tree structure efficiently |
US11023203B2 (en) | 2013-12-20 | 2021-06-01 | International Business Machines Corporation | Method, device, and computer program for merge-sorting record groups having tree structure efficiently |
Also Published As
Publication number | Publication date |
---|---|
JP3601416B2 (ja) | 2004-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3601416B2 (ja) | 情報検索方法及び装置 | |
US8073874B2 (en) | Bit string searching apparatus, searching method, and program | |
JP3672242B2 (ja) | パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体 | |
EP3113036B1 (en) | Data matching method and apparatus and computer storage medium | |
US7099881B2 (en) | Method for increasing average storage capacity in a bit-mapped tree-based storage engine by using remappable prefix representations and a run-length encoding scheme that defines multi-length fields to compactly store IP prefixes | |
US8224861B2 (en) | Coupled node tree splitting/conjoining method and program | |
EP0595064A2 (en) | Method and means providing static dictionary structures for compressing character data and expanding compressed data | |
US20080270435A1 (en) | Method for Handling Tree-Type Data Structure, Information Processing Device, and Program | |
US8190591B2 (en) | Bit string searching apparatus, searching method, and program | |
US7130859B2 (en) | Data structure for search | |
US20090019067A1 (en) | Method, apparatus, and program for inserting node | |
JP4491480B2 (ja) | インデクス構築方法、文書検索装置及びインデクス構築プログラム | |
US8166043B2 (en) | Bit strings search apparatus, search method, and program | |
JPH0869476A (ja) | 検索システム | |
JP4921453B2 (ja) | ビット列データソート装置、方法及びプログラム | |
JP2795110B2 (ja) | 有向グラフ作成装置 | |
JP5041003B2 (ja) | 検索装置および検索方法 | |
CN115801020B (zh) | 确定有限状态自动机压缩方法、匹配方法、设备及介质 | |
US20100287193A1 (en) | Bit string search apparatus, search method, and program | |
EP1387292A1 (en) | Method and apparatus for combining data of biological sequences into a non-redundant data source | |
JPH0581102A (ja) | テーブル管理方式 | |
JP2560610B2 (ja) | データ処理装置 | |
CN112287651A (zh) | 模板的转换方法及装置、存储介质、计算机设备 | |
CN118170953A (zh) | 一种动态图中三跳覆盖标签批量维护的方法和装置 | |
JP2011107819A (ja) | 木構造処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040729 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040913 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071001 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |