<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Structures hiérarchiques : les arbres on Accueil</title>
		<link>https://dlatreyte.github.io/terminales-nsi/arbres/</link>
		<description>Recent content in Structures hiérarchiques : les arbres on Accueil</description>
		<generator>Hugo</generator>
		<language>fr</language>
		
		
		
		
			<lastBuildDate>Mon, 16 Nov 2020 16:11:14 +0400</lastBuildDate>
		
			<atom:link href="https://dlatreyte.github.io/terminales-nsi/arbres/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Le codage de Huffman</title>
				<link>https://dlatreyte.github.io/terminales-nsi/arbres/4-codage-huffman/</link>
				<pubDate>Mon, 16 Nov 2020 16:11:14 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/arbres/4-codage-huffman/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;Cette séance a pour objet l&amp;rsquo;étude d&amp;rsquo;une méthode de compression de données inventée par David Albert Huffman en 1952. Cette méthode permet de réduire la longueur du codage d’un alphabet et repose sur la création d’un arbre binaire.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;différents-types-de-codages&#34;&gt;Différents types de codages&lt;/h2&gt;&#xA;&lt;div class=&#34;note normal&#34;&gt;&#xA;  &lt;em&gt;On appelle &lt;strong&gt;alphabet&lt;/strong&gt; l’ensemble des symboles (caractères) composant la donnée de départ à compresser.&lt;/em&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Dans la suite, nous utiliserons un alphabet composé seulement des 8 lettres A, B, C, D, E, F, G et H.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Arbres Binaires Recherche</title>
				<link>https://dlatreyte.github.io/terminales-nsi/arbres/3-arbres-binaires-recherche/</link>
				<pubDate>Tue, 10 Nov 2020 05:04:12 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/arbres/3-arbres-binaires-recherche/</guid>
				<description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;div class=&#34;note normal&#34;&gt;&#xA;  &lt;p&gt;Quelle structure de données permet :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;d&amp;rsquo;organiser les données selon un ordre donné (numérique, lexicographique, etc.) ;&lt;/li&gt;&#xA;&lt;li&gt;d&amp;rsquo;effectuer des recherches le plus efficacement possible ;&lt;/li&gt;&#xA;&lt;li&gt;d&amp;rsquo;accéder à, d&amp;rsquo;insérer ou de supprimer les données le plus efficacement possible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h4 id=&#34;tableaux&#34;&gt;Tableaux&lt;/h4&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Propriétés&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;On peut ordonner des données dans un tableau mais l&amp;rsquo;algorithme de tri le plus rapide, pour un jeu de données aléatoires, est en $O(n \; \log n)$ ;&lt;/li&gt;&#xA;&lt;li&gt;On peut accéder à une donnée en $O(1)$ ;&lt;/li&gt;&#xA;&lt;li&gt;On peut rechercher une valeur efficacement en utilisant la dichotomie (si le tableau est trié !) : $O(\log n)$ ;&lt;/li&gt;&#xA;&lt;li&gt;Supprimer ou insérer une valeur n&amp;rsquo;est pas très efficace : $O(n)$ (sauf à la fin du tableau).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h4 id=&#34;dictionnaires&#34;&gt;Dictionnaires&lt;/h4&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Propriétés&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Accéder à, supprimer et insérer une valeur se fait très efficacement : $O(1)$ ;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Les données ne sont pas ordonnées&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;Remarque&lt;/dt&gt;&#xA;&lt;dd&gt;Dans la suite de ce document, on considérera que les valeurs des nœuds sont des entiers.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;div class=&#34;note tip&#34;&gt;&#xA;  &lt;p&gt;Un &lt;strong&gt;arbre binaire de recherche&lt;/strong&gt;, ou &lt;strong&gt;ABR&lt;/strong&gt;, est un arbre binaire avec la propriété suivante : quel que soit le nœud $x$, &lt;strong&gt;tous les nœuds situés dans le sous-arbre gauche&lt;/strong&gt; de $x$ ont une &lt;strong&gt;valeur inférieure à la valeur&lt;/strong&gt; du nœud $x$, et &lt;strong&gt;tous ceux situés dans son sous-arbre droit&lt;/strong&gt; ont une &lt;strong&gt;valeur supérieure à la valeur&lt;/strong&gt; du nœud $x$.&lt;/p&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;Remarque&lt;/dt&gt;&#xA;&lt;dd&gt;La définition précédente est &lt;strong&gt;récursive&lt;/strong&gt;.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Les arbres binaires</title>
				<link>https://dlatreyte.github.io/terminales-nsi/arbres/2-arbres-binaires/</link>
				<pubDate>Thu, 05 Nov 2020 03:38:41 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/arbres/2-arbres-binaires/</guid>
				<description>&lt;h2 id=&#34;arbres-binaires&#34;&gt;Arbres binaires&lt;/h2&gt;&#xA;&lt;h3 id=&#34;définition&#34;&gt;Définition&lt;/h3&gt;&#xA;&lt;div class=&#34;note tip&#34;&gt;&#xA;  &lt;p&gt;Un &lt;strong&gt;arbre binaire&lt;/strong&gt; est une &lt;strong&gt;structure de données abstraite&lt;/strong&gt; formée d&amp;rsquo;un ensemble de nœuds organisés hiérarchiquement selon la définition par récurrence suivante :&lt;/p&gt;&#xA;&lt;p&gt;Un arbre binaire est :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;soit un arbre vide, noté $E$, ne contenant aucun nœud ;&lt;/li&gt;&#xA;&lt;li&gt;soit un nœud, appelé &lt;strong&gt;racine&lt;/strong&gt;, relié à exactement deux arbres binaires $g$ et $d$, respectivement appelés &lt;strong&gt;sous-arbres gauche&lt;/strong&gt; et &lt;strong&gt;sous-arbre droit&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;On note $T(r,g,d)$ l&amp;rsquo;arbre non vide dont la racine $r$ (on peut aussi indiquer l&amp;rsquo;étiquette de cette racine).&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Structures de données abstraites arborescentes : les arbres</title>
				<link>https://dlatreyte.github.io/terminales-nsi/arbres/1-introduction-arbres/</link>
				<pubDate>Thu, 05 Nov 2020 03:37:56 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/arbres/1-introduction-arbres/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;La notion de listes chaînées est parfaite pour structurer un ensemble d&amp;rsquo;élements destinés à être énumérés séquentiellement. Elle permet aussi d&amp;rsquo;implémenter les structures de piles et de files. &lt;em&gt;Elle n&amp;rsquo;est cependant pas adaptée aux accès spécifiques à des positions données dans la séquence&lt;/em&gt;, puisqu&amp;rsquo;il faut alors parcourir toutes les cellules depuis le début de la liste jusqu&amp;rsquo;à la position souhaitée (complexité en $O(N)$).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;a class=&#34;remote&#34; href=&#34;https://isn-icn-ljm.pagesperso-orange.fr/NSI-TLE/co/section_chapitre3.html&#34; target=&#34;_blank&#34;&gt;Document de référence pour ce cours&lt;/a&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;structures-arborescentes&#34;&gt;Structures arborescentes&lt;/h2&gt;&#xA;&lt;p&gt;Lorsqu&amp;rsquo;on manipule une information présentant une certaine hiérarchie, il est commun de la représenter graphiquement :&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
