Modele d`arbre nu

Ce texte concerne les graphiques dans la modélisation des données, les possibilités d`implémentation, les différents magasins de données utilisant différents modèles de données et les langages de requête. La question fondamentale à laquelle je voudrais répondre est la suivante: le but de ce document est de trier certaines choses dans mon cerveau. Si d`autres aiment les idées, les trouver instructif ou dégoûtant, ou ne se soucient pas, alors je ne me soucie pas vraiment moi-même. Cette broche et ce que Jinah a écrit, me donne envie de lire na MOG. Puis-je également signaler qu`il y a une faute de frappe dans la dernière phrase de l`introduction? En tout cas, sans terminer la discussion sur la façon dont une base de données de graphe stocke un graphique, nous nous rappelons qu`une base de données de graphe est capable de trouver tous les k voisins d`un sommet avec la complexité temporelle O (k). Je suppose en outre que les opérations comme l`ajout ou la suppression d`une arête sont des opérations de temps constant et la suppression d`un sommet avec toutes les arêtes incidentes a la complexité O (k) où k est le nombre de tronçons sortants et entrants. Je pense que ces garanties de complexité serait une meilleure définition pour une base de données de graphe, probablement avec quelques hypothèses sur les capacités d`interrogation (voir ci-dessous). Mathématiquement, un graphe (dirigé, non étiqueté, sans arêtes multiples) n`est rien d`autre qu`une relation. Il se compose d`un ensemble V de sommets et d`un sous-ensemble E (les arêtes) du produit cartésien V x V.

Il y a un bord de v à w, si et seulement si la paire (v, w) est contenue dans E. De même, un graphe bipartite n`est qu`un sous-ensemble d`un produit cartésien A x B pour deux ensembles de disjonction A et B. Cette broche est mon hommage personnel au romancier coréen admiré, Park WAN-soo. Le mot “나목” (Na MOG) est le nom de son premier roman publié en Corée. L`histoire est d`une jeune femme qui a perdu ses frères dans la guerre et tente de survivre dans cette période terrible de l`histoire de la guerre post-coréenne. Dans le livre, Kyung-A travaille dans un camp militaire américain où elle rencontre un peintre qui peint un très grand arbre nu. C`est ma mémoire de la saison pour moi et aussi la couleur forte. Jaune me rappelle mon désir, espoir, et le désespoir de la vie en Corée, qui ne s`arrête jamais où je vis.

Tout comme ce que Kyung-A avait… Je n`aime pas du tout, car à mon avis la seule chose qui compte est la performance de trouver les sommets voisins — et celle d`autres opérations qui changent le graphique. Si, par exemple, nous gardons avec chaque sommet un tableau de pointeurs directs vers tous les sommets voisins, la suppression d`une arête est plus grande que la complexité constante. Pire encore, la suppression d`un sommet ainsi que toutes ses arêtes entrantes serait un cauchemar! D`autre part, si nous utilisons une sorte de structure d`indexation avec des recherches de temps constant comme une table de hachage, alors une recherche de temps constant par rapport à la suite d`un lien direct est négligeable dans le grand schéma des choses. L`opération de requête fondamentale sur un graphique consiste à rechercher tous les voisins d`un sommet. Cette opération peut être effectuée facilement dans la configuration ci-dessus, mais elle implique une jointure entre la table de sommets avec elle-même, à l`aide de la table de liens (les arêtes). Ainsi, la recherche des voisins d`un sommet impliquera généralement au moins une recherche d`index. Cependant, lorsqu`il est implémenté correctement, cela peut être fait avec la complexité O (k) où k est le nombre de sommets voisins, qui ne peuvent pas être battus pour des raisons évidentes. Une base de données de graphe est faite pour cela, alors comment cela fonctionne-t-il ici? Dans une base de données relationnelle, nous stockons probablement les sommets d`un graphique dans une table et les arêtes d`une seconde. Chaque arête aurait une clé étrangère pour son sommet de départ et une pour son sommet de fin.