JPH06162088A - 有向グラフ生成方法および装置 - Google Patents

有向グラフ生成方法および装置

Info

Publication number
JPH06162088A
JPH06162088A JP4336800A JP33680092A JPH06162088A JP H06162088 A JPH06162088 A JP H06162088A JP 4336800 A JP4336800 A JP 4336800A JP 33680092 A JP33680092 A JP 33680092A JP H06162088 A JPH06162088 A JP H06162088A
Authority
JP
Japan
Prior art keywords
edge
directed graph
data
sibling
child
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
Application number
JP4336800A
Other languages
English (en)
Other versions
JP2795110B2 (ja
Inventor
Shoichi Tateno
昌一 舘野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4336800A priority Critical patent/JP2795110B2/ja
Publication of JPH06162088A publication Critical patent/JPH06162088A/ja
Application granted granted Critical
Publication of JP2795110B2 publication Critical patent/JP2795110B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 有向グラフによりネットワークのデータ構造
を表現してデータ処理を行う場合に少ないデータ量で有
向グラフを生成して利用することができる有向グラフ生
成方法を提供する。 【構成】 ある節を最初に指示する辺である初参照辺,
対象とする辺が指示する節から発する最初の辺である子
辺,および対象とする辺と同一の節から発して隣接する
辺である兄弟辺により構成される構造の有向グラフを、
各辺データを所定の順序に従って1次元的に記録して構
成し、有向グラフのネットワークを作成する有向グラフ
生成方法であって、初参照辺を記録し、前記初参照辺の
次に子辺を記録し、兄弟辺がある場合には前記子辺以下
の記録が終了した後に、当該兄弟辺を記録する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、有向グラフ生成方法お
よび装置に関し、特に、有向グラフによりネットワーク
のデータ構造を表現してデータ処理に利用する場合に、
メモリスペースを効率よく利用して少ないデータ量で有
向グラフを表現でき、有向グラフを作成できる有向グラ
フ生成方法および装置に関するものである。
【0002】
【従来の技術】有向グラフは、これを要素として、木構
造,ネットワーク構造をそのままの形状で表現できるた
め、最近のデータ処理においてデータを表わすデータ構
造として多く利用されるようなっている。例えば、デー
タベースを構成する場合に、木構造のデータ構造を作成
して階層的な検索処理に利用される。また、ネットワー
ク表現により、関係する関連データまでも検索が可能に
なる。
【0003】従来、有向グラフを計算機上で表現して扱
うため、一般に用いられている有向グラフの表示方法で
は、まず、節をそれぞれに特定し、辺が指す節をポイン
タにより表現して、ある節から発する各辺を当該節にお
いて、その指示先の節を示すポインタの集合として表現
している。このような表現方法によれば、有向グラフで
構成されるネットワークのデータ表現で、辺を表現する
場合、まず、節の位置をそれぞれに特定し、1つの節か
ら発する辺を記録し、次に、この辺と同じ節から発する
直後の辺である兄弟辺を順次に記録する。このようなデ
ータ表現の形態においては、各辺のデータが、明示的に
参照先の節のポインタを表現するものとなっており、こ
の場合、ポインタ数は辺数に等しくなる。
【0004】図8および図9は、従来における有向グラ
フによるネットワーク構造の表現方法を説明する図であ
る。図8に有向グラフを用いたネットワークの節と辺の
関係を図式的に示し、図9にはその有向グラフを表現し
ているデータ要素の集合のテーブルを示している。図8
において、1〜10の数字を付加した丸印はそれぞれの
節を示し、その節と節との間を結ぶ矢印が、それぞれの
有向グラフの辺を示している。節には有向グラフの属性
から、開始節,中間節,終了節の種類がある。図8にお
いては、開始節81は破線の丸印で表記し、終了節8
2,83は2重線の丸印で表記している。矢印で表記さ
れている各辺は、指示先の節の番号をポインタとして持
ち、また、ラベルを持つ。ここでは、各々の辺に持つラ
ベルは、各辺を示す矢印の線分部分の近傍に表記してい
る。
【0005】これらの各々の辺データを表現するデータ
構造としては、例えば、図9に示すようなテーブル形式
の各々のレコードデータ(エントリ)の集合で表現され
る。個々の辺を表現するレコードデータを格納するデー
タテーブル90には、節番号を格納する節番号フィール
ド91,当該節が終了節であるか否かを示す終了節フラ
グを格納する終了節フラグフィールド92,当該節から
発する辺数を格納する辺数フィールド93,各辺のラベ
ルを格納するラベルフィールド94,および当該辺の指
示先である節を示すポインタを格納するポインタフィー
ルド95から構成されている。図9に示すテーブルにお
いて、ポインタフィールド95に格納されているポイン
タの数は、ここで表現されている有向グラフの辺の数に
等しい。
【0006】図8に示す有向グラフにおいて、各々の節
から発する各辺で、順次に暗黙に記録順序が決まるもの
を括弧でくくり、その各要素で明示的にポインタが必要
になる部分に→印を付けて示すと、次のようになる。す
なわち、ここでは10個の節があり、その間を結ぶ15
個の辺がある。その表記では、辺を発しない節は除かれ
るので、9個の節と、この節から発する15個の辺とで
表現される。それぞれに指示先の節の番号で表現する
と、節:{→2,→3,→4},節:{→5},節
:{→5,→6},節:{→7},節:{→8,→
6},節:{→10},節:{→6,→9},節:
{→10},節:{→6,→10}となる。なお、こ
の表記では、各節から発する辺には順序があるものと
し、図8においては上が先になるものとしている。
【0007】ところで、有向グラフを開始節から順に辿
った時に、ある節を最初に指す辺を単に「初参照辺」と
呼ぶことにし、初参照辺以外の辺を「再参照辺」と呼ぶ
ことにすると、全ての辺は、初参照辺または再参照辺の
いずれかである。また、初参照辺は、それが指す節に1
対1に対応し、そのような節は有向グラフ全体で開始節
を除く全ての節となる。図8に示す有向グラフにおい
て、開始節81から出発して、各節における初参照辺と
再参照辺とを、上述のような規則の順序で各辺を順序付
けると、辺84,辺85,辺86と順序付けることがで
き、この順序で各辺のデータを順次にテーブル形式のデ
ータ構造にまとめると、図9に示すようなテーブルが構
成できる。
【0008】
【発明が解決しようとする課題】ところで、上述のよう
なデータ表現形式のテーブル(図9)により、有向グラ
フのネットワーク(図8)を表現する場合は、明らか
に、各々の辺数に等しい数だけのポインタが必要とな
り、この数のポインタのデータを格納する領域が必要と
なる。したがって、大規模な有向グラフのネットワーク
を表現する場合には、その多くの辺数に応じて、格納す
ベき必要なポインタの数が多くなる。また、ポインタ数
が多くなると、更にその個々のポインタを表わすアドレ
ス幅が広げなければならず、これらのデータを表現する
ためのデータ量が非常に大きくなる。
【0009】したがって、大規模な有向グラフのネット
ワークを表現する場合、多くの辺数に応じて、多くのポ
インタを格納するためのデータ領域が非常に大きくな
り、このような有向グラフを扱うデータ処理において
は、多くのポインタにかかるデータ処理のために、その
データ格納領域に関し、また、そのデータ処理速度に関
して、多くのデータ量の故に多大な負荷を強いられるこ
とになる。
【0010】本発明の上記のような課題を解決するため
のなされたものであり、本発明の目的は、有向グラフに
よりネットワークのデータ構造を表現してデータ処理を
行う場合に、メモリスペースを効率よく利用して少ない
データ量で有向グラフを表現し、有向グラフを作成し、
それを利用することができる有向グラフ生成方法および
装置を提供することにある。
【0011】
【課題を解決するための手段】上述のような目的を達成
するため、本発明の第1の特徴とする有向グラフ生成方
法では、ある節を最初に指示する辺である初参照辺,対
象とする辺が指示する節から発する最初の辺である子
辺,および対象とする辺と同一の節から発して隣接する
辺である兄弟辺により構成される構造の有向グラフを、
各辺データを所定の順序に従って1次元的に記録して構
成し、有向グラフのネットワークを作成する有向グラフ
生成方法であって、初参照辺を記録し、前記初参照辺の
次に子辺を記録し、兄弟辺がある場合には前記子辺以下
の記録が終了した後に、当該兄弟辺を記録することを特
徴とする。
【0012】本発明の第2の特徴とする有向グラフ生成
装置では、ある節を最初に指示する辺である初参照辺,
対象とする辺が指示する節から発する最初の辺である子
辺,および対象とする辺と同一の節から発して隣接する
辺である兄弟辺により構成される構造の有向グラフを、
各辺データを所定の順序に従って1次元的に記録して構
成し、有向グラフのネットワークを作成する有効グラフ
生成装置であって、初参照辺を記録し、前記初参照辺の
次に子辺を記録し、兄弟辺がある場合に前記子辺以下の
記録が終了した後に当該兄弟辺を記録して辺直列形式の
レコードデータを形成し、初参照辺,子辺,および兄弟
辺の各辺データを所定順序に従って記録する辺直列表現
のレコードデータとして記憶する記憶手段と、前記記憶
手段に記憶された辺直列表現のレコードデータから有向
グラフのネットワークを生成する処理手段とを備え、辺
直列表現のレコードデータにおける各辺データは、初参
照辺であるか否かを指示するフラグと、辺のラベルデー
タと、この辺を発する節が終了節であるか否かを指示す
るフラグと、子辺の有無を指示するフラグと、兄弟辺の
有無を指示するフラグとから構成されることを特徴とす
る。
【0013】
【作用】本発明の第1の特徴とする有向データ生成方法
において、作成される有報グラフは、ある節を最初に指
示する辺である初参照辺,対象とする辺が指示する節か
ら発する最初の辺である子辺,および対象とする辺と同
一の節から発して隣接する辺である兄弟辺により構成さ
れる構造の有向グラフである。この場合、初参照辺およ
び子辺の関係を第1優先の順序関係とし、初参照辺およ
び兄弟辺の関係を第2優先の順序関係として利用して、
有向グラフを表わす辺データを記録してテーブルを作成
して、有向グラフが含むポインタ数を減少させる。この
ため、有向グラフはテーブル構造のデータとして、記録
する辺データの記録順序を定めて、テーブルの格納位置
に所定の順序に従って、各辺データを1次元的に記録す
る。
【0014】有向グラフのネットワークを作成する場合
にあっては、テーブルの所定の格納位置に順序に従っ
て、まず、最初に、初参照辺を記録し、次に、前記初参
照辺の子辺を記録する。次に記録した辺を初参照辺と
し、その辺と子辺の関係にある辺を順次に記録する。こ
の子辺の記録が終了の後、兄弟辺がある場合には該当の
兄弟辺を記録する。また、兄弟辺の記録の次には、当該
兄弟辺に対する子辺の記録を行い、その子辺以下の記録
が終了した後に、次の該当の兄弟辺を記録する。これに
より、初参照辺と子辺の関係および初参照辺と兄弟辺の
関係においてポインタが必要でなくなり、有向グラフを
表わすテーブルが含むポインタ数を大幅に減らすことが
できる。なお、ポインタは、ネットワーク構造を表現す
るため、辺が指示する節を結合させる場合のみ付加すれ
ば良く、木構造を表現する場合においてはポインタは不
要となる。
【0015】また、本発明の第2の特徴とする有向グラ
フ生成装置においては、記憶手段と処理手段とが備えら
れる。記憶手段は、初参照辺を記録し、前記初参照辺の
次に子辺を記録し、兄弟辺がある場合に前記子辺以下の
記録が終了した後に当該兄弟辺を記録して辺直列形式の
レコードデータを形成し、初参照辺,子辺,および兄弟
辺の各辺データを所定順序に従って記録する辺直列表現
のレコードデータとして記憶する。処理手段が、前記記
憶手段に記憶された辺直列表現のレコードデータから有
向グラフのネットワークを生成する。
【0016】この有向グラフの構造では、ある節を最初
に指示する辺である初参照辺,対象とする辺が指示する
節から発する最初の辺である子辺,および対象とする辺
と同一の節から発して隣接する辺である兄弟辺により構
成されるデータ構造を、初参照辺を記録し、前記初参照
辺の次に子辺を記録し、兄弟辺がある場合に前記子辺以
下の記録が終了した後に当該兄弟辺を記録する辺直列形
式のレコードデータとする。そして、記憶手段に、初参
照辺,子辺,および兄弟辺の各辺データを所定順序に従
って順次に記録する辺直列表現のレコードデータとして
記憶する。
【0017】このため、ここでの辺直列表現のレコード
データにおける各辺データは、初参照辺であるか否かを
指示するフラグと、辺のラベルデータと、この辺を発す
る節が終了節であるか否かを指示するフラグと、子辺の
有無を指示するフラグと、弟辺の有無を指示するフラグ
とから構成する。そして、処理手段が、辺データを所定
順序により読み出し、読み出し順序関係に基づいて、各
々のフラグを参照し、各辺データにおける初参照辺,子
辺,兄弟辺の関係を判別し、有向グラフの辺を作成し
て、ネットワークを作成する。これによれば、このデー
タ処理では、フラグデータのみのテーブルからのフラグ
データの読み出し,フラグの判定の処理により、有向グ
ラフの生成処理が実行できるので、高速な処理が可能と
なる。
【0018】
【実施例】以下、本発明の実施例を図面を用いて具体的
に説明する。図1および図2は、本発明による有向グラ
フ生成方法による作成された有向グラフによるネットワ
ーク構造の表現方法を説明する図である。図1に有向グ
ラフを用いたネットワークの節と辺の関係を図式的に示
し、図2にはその有向グラフを表現している辺直列表現
のデータ構造による有向グラフテーブルを示している。
図1において、丸印はそれぞれの節を示し、その節と節
との間を結ぶ矢印が、有向グラフの辺を示している。節
には有向グラフの属性から、開始節,中間節,終了節の
種類がある。図1においては、開始節11は破線の丸印
で表記し、終了節12,13は2重線の丸印で表記して
いる。矢印で表記されている各辺は、当該辺の辺番号と
共に、それぞれに持つラベルを各辺を示す矢印の線分部
分の近傍に表記している。
【0019】図2に示すように、これらの各辺データを
表現するデータ構造では、有向グラフテーブル20にお
いて、辺直列表現によるテーブル形式データとして、各
辺データが各々のレコードデータ(エントリ)で表現さ
れる。個々の辺を表現するレコードデータを格納す有向
グラフテーブル20は、辺番号を格納する辺番号フィー
ルド21,各辺のラベルを格納するラベルフィールド2
2,当該辺が初参照辺であるか否かを示すfirstpフラグ
を格納するfirstpフラグフィールド23,当該辺による
指示先の節が終了節であるか否かを指すfinalpフラグを
格納するfinalpフラグフィールド24,当該辺が子辺を
有するか否かを示すsonpフラグを格納するsonpフラグフ
ィールド25,当該辺が兄弟辺を有するか否かを示すbr
otherpフラグを格納するbrotherpフラグフィールド2
6,および当該辺の指示先の節と同じ節を指示する初参
照辺の辺番号を示すポインタを格納するポインタフィー
ルド27から構成される。
【0020】また、開始節が終了節であるかどうかを示
すために、init-finalpフラグフィールド28が有向フ
ラグテーブル20に対して付加されている。開始節が終
了節である場合は、つまり、開始節と終了節が一致して
しまう場合は、このフィールドの値はinit-finalp=tと
される。init-finalp=nilの場合、開始節と終了節が一
致せず、終了節は開始節とは別に存在することを示して
いる。なお、init-finalpフラグの利用法の詳細は後述
する。
【0021】ここでの有向グラフテーブル20において
用いられる各フラグについて、その意味付けを説明して
おくと、init-finalpフラグは、第1番目の辺データか
ら始まる開始節が終了節であるかどうかを示すフラグで
あり、有向グラフテーブルに対して設けられる。firstp
フラグは、初参照辺であるか否かを示すフラグである。
finalpフラグは、初参照辺(firstp=t)のときに存在
し、指示先が終了節であるか否かを指すフラグとなって
いる。sonpフラグは、子辺の有無を示すフラグである。
brotherpフラグは、兄弟辺の有無を示すフラグである。
なお、ポインタはこれらのフラグと共に設けられるが、
辺データが初参照辺(firstp=t)のときに存在し、当該
辺の指示先の節を指示する。ポインタの指示先として、
同じ指示先の節を有する該当辺を示すことで、これに替
えることも可能である。
【0022】この有向グラフテーブル20では、有向グ
ラフが含むポインタ数を減らすことにより、有向グラフ
を効率よく表現し、当該有向グラフ表現をデータ処理で
利用する場合の負荷を軽減させる。このため、有向グラ
フテーブル20においては、辺直列表現によるテーブル
形式データとして各辺データを記録する。すなわち、あ
る辺のデータをレコードデータ(エントリ)として記録
すると、暗黙に次のエントリのデータ位置には初参照辺
の子辺(対象としている辺の指示する節から発する最初
の辺)のデータを記録するものとする。もし、記録する
辺が再参照辺であり、その子辺が既に記録済みになって
いる場合は、当該子辺へのポインタを記録する。
【0023】このように、暗黙に順次に子辺を記録して
いくので、兄弟辺がある場合には、明示的に兄弟辺があ
ることを記録しておくフラグが必要となる。このフラグ
の有無により、ある辺をレコードデータ(エントリ)と
して記録した後、その辺から子辺へのポインタを必要と
する場合(すなわち、子辺が既に記録済となっている場
合)は、その直後には何を記録しても良い自由度ができ
るので、有向グラフテーブル20では、このエントリ位
置に、兄弟辺を(あれば)記録することにしている。
【0024】更に、本発明の実施例にかかる有向グラフ
テーブル20のデータ構造について詳細に説明する。こ
の辺直列表現によるテーブルでは、有向グフフを効率的
に表現するため、また、どのような形の有向グラフにも
対応させるため、次のようなフラグを用意して、辺と子
辺とを単位として記録する。 (辺直列表現によるテーブルが持つフラグ) 1.開始節が終了節かどうかを示すフラグ(init-firstp
フラグ)を用意する。 2.各辺データのエントリには、初参照辺か再参照辺か
のどちらかであるかを示すフラグ(firstpフラグ)と、兄
弟辺の有無を示すフラグ(brotherpフラグ)を用意する。
また、初参照辺では、更に子辺の有無を示すフラグ(son
sフラグ)を用意する。
【0025】ここでの有向グラフテーブル20では、辺
と子辺を単位として記録する。有向グラフのネットワー
クにおいて、開始節(1箇所)を除く全ての節には、そ
れを指す初参照辺が1対1に対応するが、辺を発しない
節(子辺を持たない節)は不規則に存在する。そこで、
初参照辺に子辺の持つ情報を合せて持たせることにする
と、節の情報は不要となる。辺を発しない節が単独で持
たなければならない報報は終了節か否かを示す情報のみ
である。そこで、ここでは、特に、有向グラフテーブル
テーブルデータに対してのinit-firstpフラグフィール
ド28を設けている。
【0026】なお、前述のように原則的には、有向グラ
フテーブルには再参照辺には子辺のポインタを記録する
方法とするが、この場合、初参照辺に子辺の持つ情報を
合せて持たせると、再参照辺から子辺を参照しても、再
参照辺の指す節の情報は得られない。この情報は、その
子辺の直前の初参照辺にあるので、ここでの有向グラフ
テーブル20においては、再参照辺に子辺のポインタを
記録する方法をとらずに、当該子辺の直前の初参照辺へ
のポインタを記録するようにしている(ポインタフィー
ルド27)。
【0027】次に、図2に示すように構成された有向グ
ラフテーブル20から、図1に示すうような構造の有向
グラフを作成する場合のアルゴリズムについて説明す
る。この場合のアルゴリズムは、次のようなステップ
(A)〜(E)の処理を繰り返して行うことにより、辺
直列表現のレコードデータの有向グラフテーブル20に
よる表現から対応する有向グラフの生成が可能となる。
【0028】なお、この有向グラフの生成処理では、初
期設定データとして、スタックbrothers={}、開始節が
最終節の場合はinit-finalp=t、それ以外の場合は、ini
t-finalp=nilとする。開始節を指す(仮想的な)辺を辺0
とし、辺0は初参照辺(firstp=t)とする。 (A) 開始節を作成する。 (B) i=1とする。 (C) 辺がなければ、終了。 (C−1) 辺(i-1)が初参照辺(firstp=t)で、子辺が
ある(sonp=t)場合には、子辺として、辺iを生成する。
brotherp=tなら、iをbrothersにプッシュする。 (C−2) 辺(i-1)が初参照辺(firstp=t)で、子辺が
ない(sonp=nil)場合には、brothersをポップした値jを
得て、辺jの兄弟辺として、辺iを作成する。そして、
brotherp=tなら、iをbrothersにプッシュする。 (C−3) 辺(i-1)が再参照辺(firstp=nil)の場合、b
rothersをポップした値jを得て、辺jの兄弟辺とし
て、辺iを作成する。そして、brotherp=tなら、iをbr
othersにプッシュする。 (D) i=i+1とする。 (E) そのまま(C)に戻る。
【0029】図3は、本発明の一実施例にかかる有向グ
ラフ生成装置の要部の構成を示すブロック図である。図
3において、30は有向グラフテーブル、31は入力装
置、32はデータ処理装置、33は記憶装置、34は出
力装置、35は有向グラフ生成処理部、36は文字列解
析処理部である。記憶装置33には、解析する対象に応
じて、ラベルデータなどが設定された有向グラフを表現
する有向グラフテーブル30が予じめ作成されて備えら
れている。データ処理装置32における有向グラフ生成
処理部35は、有向グラフテーブル30のデータを利用
して、有向グラフを作成し、また、文字列解析処理部3
6は、有向グラフテーブル30のデータを利用して、文
字列の解析処理を行う。解析対象となる文字列は、入力
装置31から入力され、解析された結果の出力は出力装
置34から出力される。
【0030】図4は、有向グラフ生成処理部35が行う
有向グラフ作成処理の処理フローを示すフローチャート
である。図4を参照して、ここでの有向グラフ作成処理
を説明する。処理を開始すると、まず、ステップ40に
おいて、スタックのbrothersを空リストにする。次に、
ステップ41において、開始節を作成し、これを辺節0
とする。次にステップ42において、制御変数i=1と
する。次に、ステップ43に進み、辺節(i-1) の子辺と
して、辺節iを作成する。次に、ステップ44におい
て、有向グラフテーブルからフラグデータを参照し、br
otherp=tならば、後に兄弟辺を作成するために、制御変
数iの値をスタックbrothersにプッシュする。次に、ス
テップ45において、制御変数iをインクリメントし
て、次のステップ46において、辺iの辺データがある
か否かを判定する。辺データがなければ、処理を終了と
する。
【0031】ステップ46の判定処理において、辺iの
辺データが存在する場合、ステップ47に進む。ステッ
プ47では、辺データから辺節(i-1)が初参照辺(firstp
=t)であるか否かを判定する。初参照辺である場合に
は、ステップ48に進み、更に辺データから辺節(i-1)
に子辺(sonp=t)があるか否かを判定し、子辺がない場合
にステップ49に進む。
【0032】ステップ48の判定処理において、辺節(i
-1)に子辺(sonp=t)があると判定できると、ステップ4
3に戻り、ステップ43における子辺の作成処理から、
次の処理を続行する。また、ステップ47で辺節(i-1)
が初参照辺(firstp=t)でないと判定された場合、およ
び、ステップ48で辺節(i-1)に子辺(sonp=t)があると
判定されない場合、ステップ49に進んで、兄弟辺を作
成する処理を行う。この処理では、ステップ49で、ス
タックbrothersをポップした値jを得て、次のステップ
50において、辺節jの兄弟辺として、辺節iを作成す
る。そして、次のステップ44に戻り、ステップ44か
ら処理を繰り返し行う。
【0033】このように、この処理においては、有向グ
ラフテーブルのレコードデータ(エントリ)の辺データ
から、子辺が存在する場合には順次に子辺を作成して行
き、その間、兄弟辺がある場合、兄弟辺の存在する位置
をスタックbrothersにプッシュしておく。子辺の存在が
なくなると、次にスタックbrothersににプッシュしてお
いた兄弟辺の存在する位置で、兄弟辺を作成する。この
処理を繰り返し行い、有向グラフを作成する。
【0034】この処理により、例えば、図2に示す有向
グラフテーブル20のフラグデータから図1に示すよう
な有向グラフ10が作成される。有向グラフ10では、
図1に示すように、開始節から始まり、その上側の初参
照辺の辺を辿り、それから順次にその子辺が作成され、
子辺がなくなると、兄弟辺が存在する位置まで戻り、兄
弟辺を作成する。この作成順序は、有向フラグテーブル
20の辺データの記録順序と対応しており、記録順序の
番号を辺のラベルと共にその辺に付けて示している。
【0035】このように作成された有向グラフ10は、
例えば、前述の図8の有向グラフの説明と同様な表現法
に従い、各々の節および当該節から発する各辺で、暗黙
に記録順序が決まるものを括弧でくくり、その各要素で
明示的にポインタが必要になる部分に→印を付けて示す
と、次のように表現される。すなわち、この有向グラフ
10の例では、全ての辺データは暗黙に記録順序が決ま
るので、一つの括弧でくくることができる。前述の図8
の場合と同様にして、各辺データで明示的に他の辺への
ポインタが必要になる部分に→を付けて示し、また、兄
弟辺があることを記録する部分に下線を付けて表現する
と、{,2,,4,5,6→,→,9→,1
0,11,12→,13,14→,15→}となる。
【0036】図5は、文字列解析処理部36が行う入力
記号列解析処理の処理フローを示すフローチャートであ
る。図5を参照して、ここでの入力記号列解析処理を説
明する。この入力記号列解析処理は、例えば、図1に示
すような有向グラフにより形成されているネットワーク
構造を参照して、そのネットワークを辿り、入力された
入力記号の文字列の受理また拒絶の判定を行う処理であ
るが、ここでは、図1のような有向グラフの形態を利用
するのでなく、図2に示すような有向グラフテーブル2
0のデータをそのまま利用して入力記号列解析処理を行
う。
【0037】処理を開始すると、まず、ステップ51に
おいて、入力された文字列の最初の文字を現在の入力記
号とする。次に、ステップ52において、辺1を現在の
辺とする。次に、ステップ53に進み、現在の入力記号
と現在の辺のラベルが一致するか否かを判定する。一致
する場合には、次に、ステップ54において、子辺を次
の辺とする。次に、ステップ55において、次の入力記
号があるか否かを判定する。次の入力記号がある場合に
は、次のステップ56に進み、次の入力記号を現在の入
力記号とする。次にステップ57において、次の辺を現
在の辺として、ステップ53に戻り、ステップ53から
処理を繰り返し行う。
【0038】また、ステップ53の判定処理において、
現在の入力記号と現在の辺のラベルが一致しない場合
は、兄弟辺に対して、同様なラベルの一致の判定を行う
ため、ステップ58に進み、兄弟辺があるか否かを判定
する。兄弟辺がある場合は、ステップ59に進み、兄弟
辺を現在の辺として、ステップ53に戻り、ステップ5
3から処理を繰り返し行う。ステップ58で兄弟辺がな
い場合には、有向グラフを辿れないので、失敗終了とな
る。
【0039】このようにして、ステップ53〜ステップ
57までの処理を繰り返し行い、また、ステップ58お
よびステップ59の処理を含めて、ステップ53〜ステ
ップ57までの処理を繰り返し行う。そして、ステップ
55の判定処理において、次の入力記号がなくなったこ
とが判定できると、次に、ステップ60に進み、この入
力記号列解析処理の最終的な判定処理を行う。すなわ
ち、現在の辺が指示する節が終了節であれば、入力記号
は受理できるので、ステップ60において、現在の辺は
finalp=tであるか否かを判定する。この結果、現在の辺
がfinalp=tであれば、成功終了とし、そうでなければ、
失敗終了とする。
【0040】このような入力記号列の判定処理は、入力
された入力記号に対して有向グラフの各辺のラベルの一
致を判定して、有向グラフのネットワークの各辺を辿る
処理であるが、ここでの処理では、有向グラフのネット
ワークの各辺を辿る場合に、図2に示すような有向グラ
フテーブルの辺データを順次に読み出し、辺データにお
ける各々のフラグの判定を行い、入力記号列の判定を行
う。なお、この判定処理で、子辺を辿り、そのラベルが
不一致の場合に、兄弟辺を辿ることになるが、有向グラ
フテーブルにおいて、兄弟辺に辿りつけることは有向グ
ラフと対応する辺直列表現の有向グラフテールの等価性
から明らかである。また、有向グラフの辺の順序が決定
的でない場合、つまり、同一の節から同じラベルを持つ
辺が複数存在する場合には、子辺から先の辿り方に、成
功および失敗の区別をし、失敗の場合には、ラベルの比
較が失敗した時と同様に、兄弟辺を辿ることになる。
【0041】このような有向グラフテーブルの辺データ
を用いるアクセス法について、現在の節の状態および入
力記号がない場合に対しても対応可能なようにしたアル
ゴリズムをまとめておくと、次のようなアルゴリズムに
より有向グラフを辿ることができる。 〔開始節が終了節となっている場合の処理)この場合、
入力記号がない場合に成功終了となる。 a) 初期設定;i=0 b) 辺0(仮想的な辺)を現在の辺とする。有向グラ
フテーブル自体に付加されているinit-finalpを得る。
文字列の最初の文字を現在の入力記号とする。 c) 入力記号がなくなり、init-finalp=tなら成功終
了、init-finalp=nilなら失敗終了。 〔開始節が終了節となっていない場合の処理〕通常の処
理であり、入力記号の文字列が取り込まれる。 (1) 初期設定;i=0 (2) 辺1を現在の辺とする。 (3) 現在の入力記号と現在の辺のラベルを比較す
る。 (3−1) 一致すれば、子辺を次の辺とする。 (3−2) 一致しない場合、 (3−2−1) 兄弟辺があれば、兄弟辺を次の辺とす
る。 (3−2−2) 兄弟辺がなければ、失敗終了とする。 (4) 次の入力記号がなくなり、finalp=tなら成功終
了、finalp=nilなら失敗終了。 (5) 次の入力記号を現在の入力記号とする。次の辺
を現在の辺とする。 (6) そのまま(3)に戻る。 このようなアルゴリズムにより、入力記号の各々の文字
列に対応して、有向グラフのネットワークの各辺を辿る
ことができる。
【0042】ところで、前述のような有向グラフテーブ
ルの辺データにより、有向グラフを辿る処理を行う場合
において、初参照辺で兄弟辺が存在することを示すbrot
herpフラグがセットされている場合には、子辺の次に兄
弟辺を辿ることになるが、その参照速度を向上させるた
めに、その実体がどこにあるかを示すポインタを加える
ことができる。このような兄弟辺を参照するポインタ
(brother)を持たせておき、有向グラフテーブルを構
成すると、図6に示すような有向グラフテーブル61が
構成できる。なお、この場合、前述したように、再参照
辺で兄弟辺の有無を示すフラグがセットされている場合
は、その直後に兄弟辺を保存できるので、ポインタは不
要となる。
【0043】図6は、兄弟辺に対するポインタを含めて
構成した有向グラフテーブルの一例を説明する図であ
る。図6に示す有向グラフテーブル61において、有向
グラフを示す各辺データを表現するデータ構造は、図2
に示した有向グラフテーブルにおいて、更に兄弟辺への
ポインタを示すbrotherフィールド62を付加したもの
となっている。前述のように、このbrotherフィールド
62によるポインタを必要とするのは、初参照辺で兄弟
辺が存在する辺データの参照時である。したがって、図
2の有向グラフテーブル20に対応して、作成された兄
弟辺ポインタ付き有向グラフテーブル61においては、
そのフラグが(firstp=t & brotherp=t)である辺1,
辺3,辺7の辺データにのみ、兄弟辺へのポインタが、
brotherフィールド62により付加される。
【0044】この場合においても、有向グラフを高速に
辿るために、兄弟辺へのポインタを必要とするのは、初
参照辺(firstp=t)のうち、broyherp=tであり、かつ、so
np=tのもののみである(sonp=nilなら、直後に兄弟辺を
置ける)。したがって、その個数は初参照辺の数以下で
あるので、初参照辺へのポインタと、兄弟辺へのポイン
タを合せた個数は、少なくても全辺数以下となってお
り、従来に比ベて十分にポインタ数を減少させたデータ
構造となってはる。このポインタ数は、有向グラフの形
態により変化する。
【0045】また、更に、ここでの有向グラフテーブル
20を変形して、そのデータ容量を少なくすることがで
きる。これは、有向グラフテーブルの各々の辺データに
おいて、ラベルが同一の辺データが存在する場合に、そ
の同一のラベルの辺を参照するようにして、同一のラベ
ルの格納域を省略するようにも変形する。前述のように
有向グラフをデータ処理に利用する場合においては、ラ
ベル比較の処理が伴うので、各々の辺データにおいてラ
ベルデータは必須のものであるが、ラベルデータとして
保持するデータ幅が処理内容によっては非常に大きくな
る場合ある。このため、図7に示すように、有向グラフ
テーブル70においては、更にラベルが既存の辺データ
と同一である旨を指示するlabel-eqフラグを格納するla
bel-eqフラグフィールドを設けた構造とし、ラベルが同
一の辺データが存在する場合に、その同一のラベルを辺
を参照するようなデータ構造とする。これにより、同一
のラベルの格納域を省略したデータ構造とすることがで
き、有向グラフテーブルのデータ量を減少させることが
できる。
【0046】図7は、兄弟辺に対するポインタおよび同
一ラベル指示フラグを含めて構成した有向グラフテーブ
ルの一例を説明する図である。図7に示す有向グラフテ
ーブル71において、有向グラフを示す各辺データを表
現するデータ構造は、図2に示した有向グラフテーブル
において、兄弟辺へのポインタを示すbrotherフィール
ド62を付加し、更に、ラベルが同じであることを示す
フラグのlabel-eqフラグフィールド72を設けた構造と
なっている。ここでのlabel-eqフラグフィールド72を
利用する場合に、再参照辺が既に記録されている同一辺
を指す辺のラベルと一致する場合、ラベルが同じである
ことを示すlabel-eqフラグをセットし、ポインタフィー
ルド73により、参照する辺データをポイントする。こ
の場合、必ずしも初参照辺へのポインタを記録するので
なく、既に記録されている同一辺を指す辺へのポインタ
を記録するようにしてもよい。
【0047】このような有向フラグテーブル71(図
7)を構成する場合においては、例えば、図6に示す有
向グラフテーブルのラベルデータを参照すると、辺9の
ラベルが辺5のラベルと同じであり、また、辺14のラ
ベルが辺12のラベルと同じになっているので、辺9の
辺データおよび辺14の辺データにおいてはラベルデー
タを記録せず、これに替えてlabel-eqフラグフィールド
72に、label-eqフラグをセットする。そして、ポイン
タフィールド73に、その同一ラベルの辺をポイントす
るポインタを格納する。
【0048】また、辺直列表現のテーブルによる有向グ
ラフを利用してデータ処理を行う場合、参照が初参照辺
だけに限られるので、参照のためのポインタのアドレス
空間は、全て辺に対するものよりも小さい。したがっ
て、間接参照テーブルを持たせることにより、ポインタ
幅を減小させることができる。間接参照テーブルには、
絶対アドレスを保存する場合と、現在の辺のアドレスと
の差である相対アドレスを保存する場合があるが、ここ
での有向グラフテーブルでは、兄弟辺の場合は、相対ア
ドレスにするアドレスの重なりが生じやすく、間接参照
テーブルへのオフセット間を小さくすることができる。
また、ハフマン符号などで圧縮を行なうこともできる。
これより、ポインタ数が少なく、データ容量の少ない有
向グラフ(有向グラフテーブル)を作成することができ
る。
【0049】(有向グラフ作成処理の具体例)ここで
は、図1に示すような有向グラフに対応して、作成され
ている図2の辺直列表現の有向グラフテーブルを参照し
ながら、有向グラフ(図1)を作成する場合の処理を順
を追って説明する。次に示す処理の括弧で示した(1か
らの)数字は、有向グラフテーブルの各行の辺データに
対応している。 処理(0): 初期化処理として、スタックbrothers
={},i=1とし、開始節を作成する。init-finalpの値
に基づいて、終了節の場合にはその印を付ける。(ステ
ップ40,41,42;図4)、brothers={} 処理(1): 辺0の子辺として、ラベルが“a”の辺
1を作成する。brotherp=tなので、i=1をbrothersに
プッシュする。(ステップ43,44;図4)、brothe
rs={1} 処理(2): 辺1の子辺として、ラベルが“b”の辺
2を作成する。この場合、brotherp=nilなので、brothe
rsはそのままとする。(ステップ47,48,43,4
4;図4)、brothers={1} 処理(3): 辺2の子辺として、ラベルが“c”の辺
3を作成する。brotherp=tなので、i=3をbrothersに
プッシュする。(ステップ47,48,43,44;図
4)、brothers={3,1} 処理(4): 辺3の子辺として、ラベルが“d”の辺
4を作成する。この場合、brotherp=nilなので、brothe
rsはそのままとする。(ステップ47,48,43,4
4;図4)、brothers={3,1} 処理(5): 辺4は初参照辺であるが、子辺がないの
で、brothersをポップし、j=3を得る。辺3の兄弟辺
として、ラベルが“x”の辺5を作成する。brotherp=n
ilなので、brothersはそのままとする。(ステップ4
7,48,49,50,44;図4)、brothers={1} 処理(6): 辺5の子辺として、ラベルが“j”の辺
6を作成する。この場合、brotherp=nilなので、brothe
rsはそのままとする。(ステップ47,48,43,4
4;図4)、brothers={1} 処理(7): 辺6は初参照辺でないので、brothersを
ポップして、j=1を得る。辺1の兄弟辺として、ラベ
ルが“e”の辺7を作成する。brotherp=tなので、i=
7をbrothersにプッシュする。(ステップ47,49,
50,44;図4)、brothers={7} 処理(8): 辺7の子辺として、ラベルが“f”の辺
8を作成する。brotherp=tなので、i=8をbrothersに
プッシュする。(ステップ47,48,43,44;図
4)、brothers={8,7} 処理(9): 辺8は初参照辺でないので、brothersを
ポップして、j=8を得る。辺8の兄弟辺として、ラベ
ルが“x”の辺9を作成する。brotherp=nilなので、br
othersはそのままとする。(ステップ47,49,5
0,44;図4)、brothers={7} 処理(10): 辺9は初参照辺でないので、brothers
をポップして、j=7を得る。辺7の兄弟辺として、ラ
ベルが“g”の辺10を作成する。brotherp=nilなの
で、brothersはそのままとする。(ステップ47,4
9,50,44;図4)、brothers={} 処理(11): 辺10の子辺として、ラベルが“h”
の辺11を作成する。この場合、brotherp=nilなので、
brothersはそのままとする。(ステップ47,48,4
3,44;図4)、brothers={} 処理(12): 辺11の子辺として、ラベルが“y”
の辺12を作成する。この場合は、brotherp=tなので、
i=12をbrothersにプッシュする。(ステップ47,
48,43,44;図4)、brothers={12} 処理(13): 辺12は初参照辺でないので、brothe
rsをポップして、j=12を得る。辺12の兄弟辺とし
て、ラベルが“i”の辺13を作成する。brotherp=nil
なので、brothersはそのままとする。(ステップ47,
49,50,44;図4)、brothers={} 処理(14): 辺13の子辺として、ラベルが“y”
の辺14を作成する。この場合は、brotherp=tなので、
i=14をbrothersにプッシュする。(ステップ47,
48,43,44;図4)、brothers={14} 処理(15): 辺14は初参照辺でないので、brothe
rsをポップして、j=14を得る。辺14の兄弟辺とし
て、ラベルが“k”の辺15を作成する。brotherp=nil
なので、brothersはそのままとする。(ステップ47,
49,50,44;図4)、brothers={}
【0050】(有向グラフテーブルを利用する入力記号
解析処理の具体例1)ここでは、入力記号が“ghy
j”の場合に、有向グラフテーブルの辺データを順次に
辿り、その入力記号の文字列を解析する場合の処理を説
明する。入力された文字列の入力記号から最初の文字を
取り出し、現在の入力記号とし、有向グラフテーブルの
最初の辺データを現在の辺として解析処理を開始する。
(ステップ51,52;図5) 処理(1): 入力記号“g”と辺1のラベル“a”を
比較すると等しくないので、辺1からその兄弟辺の辺7
を参照する。なお、兄弟辺のポインタが明示されていな
い場合には、兄弟辺までの全ての辺(子辺)を順に辿
る。(ステップ53,58,59;図5) 処理(2): 入力記号“g”と辺7のラベル“e”を
比較すると等しくないので、更に、辺7からその兄弟辺
の辺10を参照する。(ステップ53,58,59;図
5) 処理(3): 入力記号“g”と辺10のラベル“g”
を比較すると等しいので、次にその子辺の辺11を参照
する。辺10は、初参照辺なので子辺11はその直後に
ある。(ステップ53,54,55,56,57;図
5) 処理(4): 入力記号“h”と辺11のラベル“h”
を比較する。この比較結果は等しいので、次にその子辺
の辺12を参照する。辺11は、初参照辺なので子辺1
2はその直後にある。(ステップ53,54,55,5
6,57;図5) 処理(5): 入力記号“y”と辺12のラベル“y”
を比較すると等しいので、次にその子辺を参照する。し
かし、辺12は再参照辺なので、その子辺はその直後に
なく、辺12が指示する節と、同じ節を同じく指示する
初参照辺となっている辺5から、その子辺となっている
辺6を得て、辺6を参照する。(ステップ53,54,
55,56,57;図5) 処理(6): 入力記号“j”と辺6のラベル“j”を
比較する。この比較結果は等しいので、次にその子辺を
参照する。この場合も、前述と同様に、辺6は再参照辺
なので、その子辺はその直後になく、辺6が指示する節
と、同じ節を同じく指示する初参照辺となっている辺4
を得て、辺4からその子辺となっている辺を次に得よう
とするが、辺4が指示する節は終了節となっており、該
当する辺は存在しない。(ステップ53,54;図5) 処理(7): 入力記号がなくなったので結果を判定す
る。現在の辺が指示する節は終了節となっているので、
入力記号列“ghyj”は受理される。(ステップ5
5,60;図5)
【0051】(有向グラフテーブルを利用する入力記号
解析処理の具体例2)ここでは、入力記号が“ghk”
の場合に、有向グラフテーブルの辺データを順次に辿
り、その入力記号の文字列を解析する場合の処理を説明
する。入力された文字列の入力記号から最初の文字を取
り出し、現在の文字と入力記号とし、有向グラフテーブ
ルの最初の辺データを現在の辺として解析処理を開始す
る。 処理(1): 入力記号“g”と辺1のラベル“a”を
比較すると等しくないので、辺1からその兄弟辺の辺7
を参照する。(ステップ53,58,59;図5) 処理(2): 入力記号“g”と辺7のラベル“e”を
比較すると等しくないので、更に、辺7からその兄弟辺
の辺10を参照する。(ステップ53,58,59;図
5) 処理(3): 入力記号“g”と辺10のラベル“g”
を比較すると等しいので、次にその子辺の辺11を参照
する。(ステップ53,54,55,56,57;図
5) 処理(4): 入力記号“h”と辺11のラベル“h”
を比較する。この比較結果は等しいので、次にその子辺
の辺12を参照する。(ステップ53,54,55,5
6,57;図5) 処理(5): 入力記号“k”と辺12のラベル“y”
を比較すると等しくないので、次には、辺12から、そ
の兄弟辺である辺13を参照する。(ステップ53,5
8,59;図5) 処理(6): 入力記号“k”と辺13のラベル“i”
を比較する。この比較結果も等しくないので、更に辺1
3からその兄弟辺を参照しようとするが、存在しないの
で、この場合は、入力記号列“ghk”は拒絶される。
(ステップ53,58;図5)
【0052】以上に、説明したように、本実施例による
有向グラフテーブルによれば、データ構造を辺直列表現
のレコードデータ(エントリ)とするので、ポインタ数
が少なくなっており、子辺へのポインタ数が「辺数−節
数+1」以下となっている。すなわち、有向グラフテー
ブルの辺データにおいて、各々の初参照辺は、ポインタ
を記録する必要がない。初参照辺はそれが指す節に1対
1に対応し、そのような節は、有向グラフ全体で開始節
を除く、全ての節となっている。したがって、子辺への
ポインタを必要とする辺数は「辺数−節数+1」以下と
なる。
【0053】
【発明の効果】以上に述べたように、本発明の有向グラ
フ生成方法によれば、有向グラフテーブルを辺直列表現
によるデータ構造のテーブルとして、有向グラフを表現
する場合のポインタ数を減少できるので、有向グラフに
よりネットワークのデータ構造を表現してデータ処理を
行う場合に、メモリスペースを効率よく利用して少ない
データ量で有向グラフを表現し、有向グラフを作成し、
それを利用することができるという効果を奏する。
【図面の簡単な説明】
【図1】 図1は有向グラフを用いたネットワークの節
と辺の関係を図式的に示す図、
【図2】 図2は図1の有向グラフを表現している辺直
列表現によるデータ構造の有向グラフテーブルを示す
図、
【図3】 図3は本発明の一実施例にかかる有向グラフ
生成装置の要部の構成を示すブロック図、
【図4】 図4は有向グラフ生成処理部35が行う有向
グラフ作成処理の処理フローを示すフローチャート、
【図5】 図5は文字列解析処理部36が行う入力記号
列解析処理の処理フローを示すフローチャート、
【図6】 図6は兄弟辺に対するポインタを含めて構成
した有向グラフテーブルの一例を説明する図、
【図7】 図7は兄弟辺に対するポインタおよび同一ラ
ベル指示フラグを含めて構成した有向グラフテーブルの
一例を説明する図、
【図8】 図8は従来における有向グラフによるネット
ワーク構造の表現方法により、その有向グラフのネット
ワークの節と辺の関係を図式的に示す図、
【図9】 図9は従来における有向グラフによるネット
ワーク構造の表現方法により、その有向グラフのネット
ワークを表現しているデータ要素の集合のテーブルを示
す図である。
【符号の説明】
10…有向グラフのネットワーク表現、11…開始節、
12…終了節、13…終了節、14,15,16,17
…辺、20…有向グラフテーブル、21…辺番号フィー
ルド、22…ラベルフィールド、23…firstpフラグフ
ィールド、24…finalpフラグフィールド、25…sonp
フラグフィールド、26…brotherpフラグフィールド、
27…ポインタフィールド、28…init-finalpフラグ
フィールド、30…有向グラフテーブル、31…入力装
置、32…データ処理装置、33…記憶装置、34…出
力装置、35…有向グラフ生成処理部、36…文字列解
析処理部、61有向グラフテーブル(第1の変形例)、
62…brotherフィールド、71…有向グラフテーブル
(第2の変形例)、72…label-eqフラグフィールド、
73…ポインタフィールド、80…有向グラフのネット
ワーク表現、81…開始節、82…終了節、83…終了
節、84,85,86…辺、90…データテーブル、9
1…節番号フィール、92…終了節フラグフィールド、
93…辺数フィールド、94…ラベルフィールド、95
…ポインタフィールド。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ある節を最初に指示する辺である初参照
    辺,対象とする辺が指示する節から発する最初の辺であ
    る子辺,および対象とする辺と同一の節から発して隣接
    する辺である兄弟辺により構成される構造の有向グラフ
    を、各辺データを所定の順序に従って1次元的に記録し
    て構成し、有向グラフのネットワークを作成する有向グ
    ラフ生成方法であって、 初参照辺を記録し、 前記初参照辺の次に子辺を記録し、 兄弟辺がある場合には前記子辺以下の記録が終了した後
    に、当該兄弟辺を記録することを特徴とする有向グラフ
    生成方法。
  2. 【請求項2】 ある節を最初に指示する辺である初参照
    辺,対象とする辺が指示する節から発する最初の辺であ
    る子辺,および対象とする辺と同一の節から発して隣接
    する辺である兄弟辺により構成される構造の有向グラフ
    を、各辺データを所定の順序に従って1次元的に記録し
    て構成し、有向グラフのネットワークを作成する有効グ
    ラフ生成装置であって、 初参照辺を記録し、前記初参照辺の次に子辺を記録し、
    兄弟辺がある場合に前記子辺以下の記録が終了した後に
    当該兄弟辺を記録して辺直列形式のレコードデータを形
    成し、初参照辺,子辺,および兄弟辺の各辺データを所
    定順序に従って記録する辺直列表現のレコードデータと
    して記憶する記憶手段と、 前記記憶手段に記憶された辺直列表現のレコードデータ
    から有向グラフのネットワークを生成する処理手段とを
    備え、 辺直列表現のレコードデータにおける各辺データは、初
    参照辺であるか否かを指示するフラグと、辺のラベルデ
    ータと、この辺を発する節が終了節であるか否かを指示
    するフラグと、子辺の有無を指示するフラグと、兄弟辺
    の有無を指示するフラグとから構成されることを特徴と
    する有効グラフ生成装置。
JP4336800A 1992-11-25 1992-11-25 有向グラフ作成装置 Expired - Fee Related JP2795110B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4336800A JP2795110B2 (ja) 1992-11-25 1992-11-25 有向グラフ作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4336800A JP2795110B2 (ja) 1992-11-25 1992-11-25 有向グラフ作成装置

Publications (2)

Publication Number Publication Date
JPH06162088A true JPH06162088A (ja) 1994-06-10
JP2795110B2 JP2795110B2 (ja) 1998-09-10

Family

ID=18302805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4336800A Expired - Fee Related JP2795110B2 (ja) 1992-11-25 1992-11-25 有向グラフ作成装置

Country Status (1)

Country Link
JP (1) JP2795110B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210570A (ja) * 1994-01-25 1995-08-11 Fuji Xerox Co Ltd 有向グラフ編集処理装置
JPH10319990A (ja) * 1997-05-20 1998-12-04 Denso Corp 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体
JPH11203324A (ja) * 1998-01-13 1999-07-30 Tokyo Electron Ltd データ処理方法及びデータ検索方法
JP2000181933A (ja) * 1998-12-18 2000-06-30 Nec Corp 階層構造作成方法及び装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210570A (ja) * 1994-01-25 1995-08-11 Fuji Xerox Co Ltd 有向グラフ編集処理装置
JPH10319990A (ja) * 1997-05-20 1998-12-04 Denso Corp 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体
JPH11203324A (ja) * 1998-01-13 1999-07-30 Tokyo Electron Ltd データ処理方法及びデータ検索方法
JP2000181933A (ja) * 1998-12-18 2000-06-30 Nec Corp 階層構造作成方法及び装置
US6668252B2 (en) 1998-12-18 2003-12-23 Nec Corporation Hierarchical structure generating method and apparatus generating hierarchical structure display table based on parent-child relationship table

Also Published As

Publication number Publication date
JP2795110B2 (ja) 1998-09-10

Similar Documents

Publication Publication Date Title
US5970496A (en) Method and system for storing information in a computer system memory using hierarchical data node relationships
JP3913762B2 (ja) ディスクスペースを管理する変型バデイシステム
US4912637A (en) Version management tool
US6016492A (en) Forward extensible property modifiers for formatting information in a program module
US7962494B2 (en) Method, information processing apparatus, and program for generating array
US7137066B2 (en) Binary cache file format for themeing the visual appearance of a computer system
JP2005070911A (ja) 構造化文書のデータを検索する装置および方法
JPH11250107A (ja) 仮想ナビゲーション
JPH10240754A (ja) テキストデータ登録検索方法
US5572637A (en) Process for merging CAD vector files and automatically removing duplicate and obsolete patterns
JPH05189490A (ja) 関数結果をセーブし検索する方法と装置
US20090019067A1 (en) Method, apparatus, and program for inserting node
JPH06162088A (ja) 有向グラフ生成方法および装置
JP3346014B2 (ja) 有向グラフ編集処理装置
US8849866B2 (en) Method and computer program product for creating ordered data structure
JP2613881B2 (ja) 船積書類自動作成方式
JPH10240741A (ja) 木構造型データの管理方法
JP2010020643A (ja) データファイル操作システム、そのプログラム
JP3722854B2 (ja) データ編集装置
JP3395362B2 (ja) 文書処理装置
JPS6381573A (ja) 図面情報管理方法
JP2011107819A (ja) 木構造処理装置及びプログラム
JPH11242627A (ja) データアクセス方法およびプログラムを記録した媒体
JP2023159595A (ja) ソースコード判定モデル作成装置、ソースコード判定装置、ソースコード判定モデル作成方法、ソースコード判定方法、及びソースコード判定システム
CN118332020A (zh) 一种模型搜索方法及相关产品

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees