{"id":1090,"date":"2017-03-31T17:17:06","date_gmt":"2017-03-31T15:17:06","guid":{"rendered":"http:\/\/www2.mathnique.com\/site\/?page_id=1090"},"modified":"2017-03-31T17:55:53","modified_gmt":"2017-03-31T15:55:53","slug":"generalites-sur-les-sd","status":"publish","type":"page","link":"https:\/\/www.mathnique.com\/site\/generalites-sur-les-sd\/","title":{"rendered":"G\u00e9n\u00e9ralit\u00e9s sur les SD"},"content":{"rendered":"<ul>\n<li><strong><span style=\"color: #ff0000;\">Utilit\u00e9s d'une structure de donn\u00e9es <\/span><\/strong><br \/>\nPour bien cr\u00e9er les algorithmes de r\u00e9solution de probl\u00e8mes, il n'est pas suffisant de bien manier les structures de contr\u00f4le( s\u00e9quentielle, it\u00e9rative, alternative), il faut en plus bien choisir la structure de donn\u00e9es.<br \/>\nPour d\u00e9finir une structure de donn\u00e9es, il faut pr\u00e9ciser :<\/p>\n<ul>\n<li>leur sp\u00e9cification fonctionnelle ( les op\u00e9rateurs et leurs propri\u00e9t\u00e9s)<\/li>\n<li>leur description logique<\/li>\n<li>leur repr\u00e9sentation ( ou impl\u00e9mentation) physique en m\u00e9moire<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol>\n<ol>\n<li><span style=\"color: #ff0000;\"><b>Types de donn\u00e9es<\/b><\/span><\/li>\n<\/ol>\n<\/ol>\n<table cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Turbo-Pascal<\/li>\n<\/ul>\n<\/td>\n<td colspan=\"3\" valign=\"top\">\n<ul>\n<li>Caml<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis scalaires<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\">\n<ul>\n<li>Byte<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis scalaires<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Shortint<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Integer<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Int -2<sup>30<\/sup>;;2<sup>30<\/sup> - 1<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Word<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Longint<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Boolean<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>bool<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Char<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis r\u00e9els<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis r\u00e9els<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Real<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>float<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Single<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Double<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Extended<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Comp<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis structur\u00e9s<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis structur\u00e9s<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>String<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>string<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>n-uplets<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Array of<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Tableau ou vecteur<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Record<\/li>\n<li>(enregistrement)<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Enregistrement avec \u00e9ventuellement des champs mutables { }<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Set\u00a0 of<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>liste<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis fichiers<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>type fonctionnel<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>File of<\/li>\n<li>(fichier d'articles)<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>type Produit cart\u00e9sien<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Text<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>File<\/li>\n<li>(fichiers sans type)<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis pointeurs<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Pr\u00e9d\u00e9finis\u00a0 sp\u00e9cial\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 le type rien ()<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\">\n<ul>\n<li>Unit<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>^<br \/>\nvariable dynamique typ\u00e9e)<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>Pointer<\/li>\n<li>(variable dynamique sans type)<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<ul>\n<li>D\u00e9finis par l'utilisateur<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>D\u00e9finis par l'utilisateur<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>\u00e9num\u00e9ration<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>type construit<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>intervalle<\/li>\n<\/ul>\n<\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">\n<ul>\n<li>type somme g\u00e9n\u00e9rique<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\"><\/td>\n<td valign=\"top\">&nbsp;<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><span style=\"color: #ff0000;\"><b>Structures de donn\u00e9es<\/b><\/span>\n<ul>\n<li><b><em><span style=\"color: #ff0000;\">non lin\u00e9aires :<br \/>\n<\/span><\/em><\/b><span style=\"color: #ff0000;\"><span style=\"color: #000000;\">On relie un \u00e9l\u00e9ment \u00e0 plusieurs suivants et non plus \u00e0 un seul<\/span><\/span><b> <\/b><\/p>\n<ul>\n<li>les graphes<\/li>\n<li>les arbres<\/li>\n<\/ul>\n<\/li>\n<li><b><em><span style=\"color: #ff0000;\">lin\u00e9aires :\u00a0<\/span><\/em><br \/>\n<\/b><b>\u00a0<\/b>il existe entre les \u00e9l\u00e9ments une notion de \"s\u00e9quence\" : 1<sup>er<\/sup>, 2<sup>\u00e8me<\/sup>, \u2026, dernier.<\/li>\n<li><b>les tableaux\u00a0:<br \/>\n<\/b>On peut alors regrouper un nombre fixe de donn\u00e9es de m\u00eame type.<br \/>\nUn vecteur est construit en une seule fois.<em>En Turbo-Pascal<\/em><br \/>\nProgram gestiontableau\u00a0;<br \/>\nuses winCrt\u00a0;<br \/>\nconst Nmax \u00a0 = 5\u00a0;<br \/>\ntype tableau = array[1..Nmax] of integer\u00a0;<br \/>\nvar \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 v\u00a0: tableau\u00a0;<br \/>\nbegin<br \/>\nor i\u00a0:= 1 to Nmax do begin<br \/>\nwrite(\u2018v[\u2018,i,\u2019] = \u2019)\u00a0;<br \/>\nreadln(v[i])\u00a0;<br \/>\nend\u00a0;<em>En Caml\u00a0<\/em><br \/>\nlet n = 5 and v =[|0;0;0;0;0|] in<br \/>\nbegin<br \/>\nfor i = 0 to ( n \u2013 1 )<br \/>\ndo<br \/>\nprint_string \"entrez v[\" ;<br \/>\nprint_int i ;<br \/>\nprint_string \"]= \";<br \/>\nv.(i) &lt;- read_int() ;<br \/>\ndone ;<br \/>\nv ;<br \/>\nend ;;<\/p>\n<p>L\u2019acc\u00e8s \u00e0 un \u00e9l\u00e9ment de vecteur se fait en un temps constant et ind\u00e9pendant du rang.<br \/>\nL\u2019acc\u00e8s aux \u00e9l\u00e9ments se fait par le rang.<\/p>\n<p><em>En Turbo Pascal<\/em><\/p>\n<p>v[3]\u00a0:= 8\u00a0;<br \/>\nfor i\u00a0:= 1 to Nmax do\u00a0 writeln(\u2018v[\u2018,i,\u2019] = \u2019,v[i])\u00a0;<\/p>\n<p><em>En Caml<\/em><br \/>\nv.(0)\u00a0;\u00a0;<br \/>\nv.(1) &lt;- 4\u00a0;\u00a0;<br \/>\nv\u00a0;\u00a0;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><span style=\"color: #ff0000;\"><b>les listes cha\u00een\u00e9es<\/b><\/span><br \/>\nOn peut alors regrouper un nombre quelconque et variable de donn\u00e9es de m\u00eame type.<br \/>\nC\u2019est une structure de donn\u00e9e efficace\u00a0 en informatique.<br \/>\nOn distingue<\/p>\n<ul>\n<li>la liste cha\u00een\u00e9e classique<\/li>\n<li>les listes cha\u00een\u00e9es particuli\u00e8res :\n<ul>\n<li>les piles (LIFO : Last\u00a0 \u00a0 In,\u00a0 \u00a0 First\u00a0 Out)<\/li>\n<li>les files (FIFO : First\u00a0 In, \u00a0 \u00a0 First\u00a0 Out)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Utilit\u00e9s d'une structure de donn\u00e9es Pour bien cr\u00e9er les algorithmes de r\u00e9solution de probl\u00e8mes, il n'est pas suffisant de bien manier les structures de contr\u00f4le( s\u00e9quentielle, it\u00e9rative, alternative), il faut en plus bien choisir la structure de donn\u00e9es. Pour d\u00e9finir une structure de donn\u00e9es, il faut pr\u00e9ciser : leur sp\u00e9cification fonctionnelle ( les op\u00e9rateurs et &hellip; <a href=\"https:\/\/www.mathnique.com\/site\/generalites-sur-les-sd\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;G\u00e9n\u00e9ralit\u00e9s sur les SD&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1090","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/comments?post=1090"}],"version-history":[{"count":5,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1090\/revisions"}],"predecessor-version":[{"id":1096,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1090\/revisions\/1096"}],"wp:attachment":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/media?parent=1090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}