FR3073060A1 - Systeme et programme de tri d'information identifiees par des valeurs numeriques - Google Patents

Systeme et programme de tri d'information identifiees par des valeurs numeriques Download PDF

Info

Publication number
FR3073060A1
FR3073060A1 FR1760268A FR1760268A FR3073060A1 FR 3073060 A1 FR3073060 A1 FR 3073060A1 FR 1760268 A FR1760268 A FR 1760268A FR 1760268 A FR1760268 A FR 1760268A FR 3073060 A1 FR3073060 A1 FR 3073060A1
Authority
FR
France
Prior art keywords
module
values
positions
numerical values
sorting
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.)
Pending
Application number
FR1760268A
Other languages
English (en)
Inventor
Philippe Garnier
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.)
Sasu India Juliet
Original Assignee
Sasu India Juliet
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 Sasu India Juliet filed Critical Sasu India Juliet
Priority to FR1760268A priority Critical patent/FR3073060A1/fr
Publication of FR3073060A1 publication Critical patent/FR3073060A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un système de tri d'informations identifiées par des valeurs numériques (x1, x2, xmax, xmin,..., xn), le système comprenant : - un premier module (11) pour fournir un premier tableau (A1) comprenant lesdites valeurs numériques, - un deuxième module (12) pour déterminer la valeur numérique maximale (xmax) parmi lesdites valeurs numériques, - un troisième module (13) pour fournir un deuxième tableau (A2) comprenant un nombre de positions lié à la valeur numérique maximale (ya, yb,..., ymax, - un quatrième module (14) pour incrémenter les positions du deuxième tableau (A2), des occurrences desdites valeurs numériques correspondantes du premier tableau, et - un cinquième module (15) pour exporter les informations identifiées par lesdites valeurs numériques triées en fonction des positions incrémentées du deuxième tableau (A2). L'invention porte en outre sur un programme et une unité de commande associés. Les informations à trier peuvent être associées à une échelle de pertinence dans des applications informatiques.

Description

SYSTEME ET PROGRAMME DE TRI D ' JNFORMATTOWS IDEKTIFIEES PAR DES VA1EORS NOMERIQUBS
La présente invention concerne un système de tri d'informations identifiées par des valeurs numériques ainsi qu' un un procédé de tri desdites informations mis en œuvre par des moyens informatiques, et une unité de commande associés.
Ce type de système a pour objectif de faciliter la gestion de données ou de paramètres dans des applications variées. Ces informations sont généralement identifiées par une valeur numérique. Il peut s'agir de paramétrés numériques que les utilisateurs ont besoin de trier pour mettre en œuvre par exemple une échelle de priorités, une gestion de tournées de livraison.,,
Lorsque la quantité d'informations à trier dépasse un certain seuil, il est généralement nécessaire d'avoir recours à un système informatique et à un procédé mis en œuvre par ordinateur pour des questions de gains de temps et d'efficacité.
Malheureusement, la majorité des solutions disponibles dans l'art antérieur sont basées sur des systèmes informatiques utilisant des méthodes lentes et des procédés complexes, ce qui implique des processeurs ayant beaucoup de ressources. En effet, certaines solutions de 1'art antérieur proposent des modules calculateurs comparant toutes les valeurs numériques deux à deux et des modules de déplacement des informations afin de trier les informations en fonction d'un classement ordinal des valeurs numériques. Ces solutions sont basées sur un calcul, à chaque nouvelle valeur numérique, pour déterminer si elle est supérieure ou inférieure aux valeurs numériques précédentes, puis un classement correspondant de la nouvelle information soit à la suite des valeurs précédentes, soit avant, soit entre lesdites valeurs. A la deuxième valeur, il y a trois positions possibles, à la troisième, il y'en a quatre, et ainsi de suite jusqu'à la dernière valeur.
Ainsi, lorsqu'il y a un grand nombre de valeurs à trier, ce classement nécessite beaucoup de temps de calculs et des processeurs complexes .
Figure FR3073060A1_D0001
est
Figure FR3073060A1_D0002
système rapide de simplifié permettant réaliser un tri numériques
Figure FR3073060A1_D0003
comparaison valeurs
Figure FR3073060A1_D0004
antérieur.
un système de tri propose
Pour ce faire, 1' invention
Figure FR3073060A1_D0005
système comprenant :
numériques,
Figure FR3073060A1_D0006
- un premier module pour fournir un premier tableau comprenant lesdites valeurs numériques, un deuxième module pour déterminer la valeur numérique maximale parmi lesdites valeurs numériques, un troisième module pour fournir un deuxième tableau comprenant un nombre de positions lié à la valeur numérique maximale,
- un quatrième module pour incrémenter les positions du deuxième tableau, des occurrences desdites valeurs numériques correspondantes du premier tableau, et
- un cinquième module pour exporter les informations identifiées par lesdites valeurs numériques triées en fonction des positions incrémentées du deuxième tableau.
Avantageusement, le système comprend un module pour fournir d'un deuxième tableau dont les positions sont utilisées pour trier les valeurs numériques et ainsi les informations, ce qui simplifie grandement le tri et en augmente la rapidité sans consommer beaucoup de ressources de calcul.
En. effet, le système selon l'invention permet d'éviter des modules comparant la prochaine valeur numérique aux valeurs numériques précédentes et un reclassement des informations à chaque nouvelle valeur numérique, ce qui simplifie grandement l'activité des modules de calcul et des modules de classement, le classement étant fait en fonction des positions du deuxième tableau.
Selon d'autres aspects pris isolément ou combinés selon toutes les combinaisons techniquement réalisables :
- le quatrième module pour incrémenter est configuré pour incrémenter chaque position du deuxième tableau d'autant d'occurrence(s) de la valeur numérique correspondante du premier tableau ; et/ou
-le système comprend un sixième module pour initialiser les valeurs numériques du deuxième tableau à une valeur numérique minimale donnée, de préférence à zéro ; et/ou
- le système comprend en outre un septième module pour déterminer la valeur numérique minimale du premier tableau, le troisième module pour fournir le deuxième tableau réalisant un nombre de positions lié en outre à ladite valeur numérique minimale ; et/ou
- le système comprend en outre, un huitième module pour convertir les valeurs numériques en valeurs entières, préalablement au tri, puis, de préférence, convertir les valeurs entières triées dans le sens opposé après le tri.
L·'invention concerne en outre un produit-programme informatique comprenant des parties de code logiciel lisible sur une unité de commande telle qu'un ordinateur ou un appareil de communication mobile, configuré pour donner des instructions de commande aux modules d'un système selon l'invention pour réaliser un tri d'informations identifiées par des valeurs numériques, lorsqu'il est mis en œuvre par l'unité de commande.
Un autre objet de l'invention concerne une unité de commande telle qu'un ordinateur ou un appareil de communication mobile comprenant un produit-programme informatique selon l'invention.
L'invention concerne en outre un procédé de tri correspondant au système décrit ci-dessus. Plus généralement, l'invention concerne en outre un procédé: de tri de valeurs numériques d'une liste non triée, en particulier mis en œuvre par des moyens informatiques, comprenant les étapes suivantes :
- fournir un premier tableau comprenant les valeurs numériques de la liste non triée,
- déterminer la valeur numérique maximale de ladite liste non triée,
- fournir un deuxième tableau comprenant un nombre de positions lié à la valeur numérique maximale,
- incrémenter les positions du deuxième tableau des occurrences des valeurs numériques correspondantes du premier tableau, et
- créer une liste triée à partir des valeurs numériques du deuxième tableau dont les positions sont incrémentées.
Avantageusement, le procédé comprend la fourniture d'un deuxième tableau dont les positions sont utilisées pour trier les valeurs numériques, ce qui simplifie grandement le tri et en augmente la rapidité sans consommer beaucoup de ressources de calcul.
Selon d'autres aspects pris isolément ou combinés selon toutes les combinaisons techniquement réalisables :
- l'étape d'incrémenter comprend incrémenter chaque position du deuxième tableau d'autant d'occurrence(s) de la valeur numérique correspondante du premier tableau ; et/ou
- les valeurs numériques du deuxième tableau sont initialisées à une valeur numérique minimale donnée, de préférence à zéro ; et/ou
- le procédé comprend en outre les étapes suivantes :
- déterminer la valeur numérique minimale de ladite liste non triée, fournir le deuxième tableau comprenant un nombre de positions lié en outre à la valeur numérique minimale ; et/ou
- le procédé comprend en outre, aux fins de créer la liste triée, une étape d'afficher pour chaque entrée du deuxième tableau les occurrences desdites valeurs numériques ; et/ou
- le procédé comprend en outre, une étape de convertir les valeurs numériques en valeurs entières, préalablement au tri, puis, de préférence, convertir les -valeurs entières triées dans le sens opposé après le tri.
h'invention concerne en outre un produit-programme informatique comprenant des parties de code logiciel lisible sur une unité de commande telle qu'un ordinateur ou un appareil de communication mobile, configuré pour donner des instructions de commande pour réaliser les étapes du procédé selon l'invention, lorsqu'il est mis en œuvre par l'unité de commande.
Un autre objet de l'invention concerne une unité de commande telle qu'un ordinateur ou un appareil de communication, mobile comprenant un produit-programme informatique selon l'invention.
L'invention sera davantage détaillée par la description de
modes de réalisation non limitatifs, et sur la base des figures
annexées dans lesquelles :
- la figure 1 est un schéma du système selon une variante
préférée de 1 ' invention ; et
- la figure 2 est un schéma du procédé selon une variante
préférée de 1'invention.
L'invention concerne un système de tri d'informations 1 identifiées par des valeurs numériques. Le système peut être schématisé par exemple par la figure 1. Il s'agit d'un système de type informatique comprenant un élément de connexion 2 par exemple de type USB, permettant de transmettre des données vers ou hors du système 1 ; un élément de type contrôleur 3, par exemple un microcontrôleur ou un processeur, incluant plusieurs modules informatiques ; et un élément de type mémoire 4, selon une architecture connue.
Les valeurs numériques à trier sont par exemple xlz x2, Xmaxz Xmin, ..., Xn ; où x est une valeur numérique donnée, xx est la première valeur de la liste non triée, x2 est la deuxième valeur, xmin est la valeur la plus petite, xmax est la valeur la plus grande, xn est· la dernière valeur, et n est le nombre de valeurs numériques. Bien entendu, xsin et xæa3i ne sont pas nécessairement identifiés dans la liste à trier au début du tri.
En particulier, les valeurs numériques à trier sont des entiers par exemple non-nuls.
Le système 1 comprend un premier module 11 configuré pour fournir un premier tableau Ai comprenant lesdites valeurs numériques (xi, x2, xmax, «nin, -, xn) ·
Par « tableau » est entendu une structure de données également appelée « array » en langue anglaise. Dans cette 10 étape, la série de valeurs numériques à trier est reportée dans le premier tableau Αχ.
Le module 11 est inclus dans l'élément de type contrôleur 3, et le premier tableau Ai est créé dans l'élément de type mémoire 4.
Le système comprend en outre un deuxième module 12 pour déterminer la valeur numérique maximale (¾) parmi lesdites valeurs numériques. En particulier, le deuxième module 12 parcourt le premier tableau et détermine quelle valeur (xBax) est la plus élevée dans ledit tableau. Avantageusement, le module 12 compare lesdites valeurs deux à deux sans avoir besoin de comparer les prochaines valeurs à toutes les valeurs précédentes ce qui simplifie le tri.
Le deuxième module 12 est un module de type calculateur et effectue ladite comparaison. Pour ce faire, ce module 12 25 parcourt le tableau Αχ dans l'élément de type mémoire 4.
Le système 1 comprend en outre un troisième module 13 pour fournir un deuxième tableau A2 comprenant un nombre de positions lié à la valeur numérique maximale . Par « positions », est entendu une place dans le deuxième tableau ; le terme 30 « position » peut être interverti avec « coordonnée » ou « colonne » sans sortir du cadre de l'invention. Sur la base du nombre de positions requis, le module 13 réalise le deuxième tableau A2 avec autant dé positions que nécessaire.
Les positions sont par exemple des positions ya, yb, , yinax ; où y est une position donnée, et ymax est la position correspondant à la valeur numérique maximale x«»v.
En particulier, le nombre de positions peut correspondre à 5 la valeur numérique maximale, xmax, c'est-à-dire qu'il y'a xmax positions dans le deuxième tableau A2. On peut aussi envisager de fixer une origine aux positions, par exemple à zéro. Dans ce cas, le nombre de positions dépend de la valeur maximale à laquelle peut s'ajouter un nombre donné de positions jusqu'à l'origine, par exemple xm»v-H positions pour une origine à zéro.
Le module 13 est inclus dans l'élément de type contrôleur 3,
et le deuxième tableau A2 est créé dans l'élément de type
mémoire 4.
Le système comprend en outre un quatrième module 14 pour
15 incrémenter les positions du deuxième tableau A2, des
occurrences desdites valeurs numériques correspondantes du premier tableau Ai. En particulier, le quatrième module 14 parcourt les positions, de préférence croissantes, du deuxième tableau A2 et y incrémente les occurrences des valeurs du premier tableau Aj.. En d'autres termes, à une position ya du deuxième tableau A2 est incrémentée par exemple une occurrence de la valeur numérique xn correspondante, en considérant que xa est une valeur numérique correspondant à un rang ya. Il en est de même pour toutes les positions ya à A la position y„ax, est incrémentée, par exemple, une occurrence de la valeur .
On peut également envisager un module 14 parcourant les positions décroissantes du deuxième tableau sur le même principe.
Le système comprend en outre un cinquième module 15 pour exporter les informations identifiées par lesdites valeurs numériques triées en fonction des positions incrémentées du deuxième tableau A2. Le cinquième module 15 permet d'exporter une liste triée.
Ainsi, les valeurs du deuxième tableau A2 servent de base pour obtenir une liste triée rapidement avec peu de temps de calcul. En particulier, les modules de calcul du procédé selon 1'invention effectuent moins de calculs que les solutions de l'art antérieur comparant toutes les valeurs numériques entre elles pour les classer. Ainsi, un processeur simplifié peut être utilisé pour la mise en œuvre du système selon l'invention en limitant de fait les coûts.
Plus particulièrement, les modules informatiques utilisent les valeurs du deuxième tableau A2 comme base et reportent les valeurs correspondantes du premier tableau Aj. de sorte que les valeurs ainsi reportées forment une liste triée. Avantageusement, les· modules informatiques n'ont pas besoin de comparer chaque nouvelle valeur de la liste à toutes les valeurs précédentes et intercaler les valeurs en conséquence, ce qui limite grandement les opérations de calcul et les déplacements de valeurs et informations à trier.
Selon une variante, le quatrième module 14 pour incrémenter est configuré pour incrémenter chaque position du deuxième tableau À2 d'autant d'occurrence de la valeur numérique correspondante du premier tableau Αχ. En particulier, si le quatrième module 14 retrouve trois fois une valeur à trier, il incrémente la position correspondante de trois occurrences de la valeur numériques. Avantageusement, cet aspect permet d'effectuer un tri d'une liste ayant plusieurs occurrences de mêmes valeurs numériques à trier.
Selon une variante, le système comprend un sixième module 16 pour initialiser les valeurs numériques du deuxième tableau A2 à une valeur numérique minimale donnée y«in, de préférence à zéro. Avantageusement, cet aspect permet de borner l'étendue de la liste au-dessus de la valeur numérique minimale lorsqu'elle est déterminée.
Selon une variante, le système comprend un septième module 17 pour déterminer la valeur numérique minimale Xmin du premier tableau. Le troisième module 13 pour fournir le deuxième tableau A2 réalise alors un nombre de positions lié en outre à ladite valeur numérique minimale X^in, par exemple ya, yt, -, Ymax·
En particulier, le septième module 17 parcourt le premier tableau Ai et détermine quelle valeur Xmin est la plus basse dans ledit tableau. Αχ. Il s'en suit que lors de la création du deuxième tableau A2, celui-ci comprend un nombre de positions lié en outre à la valeur numérique minimale, par exemple y min, ya, Ybr — , v»» ί où y^n est la position correspondant à la valeur numérique minimale x^in· Avantageusement, cet aspect permet de borner l'étendue de la liste entre la valeur numérique minimale Xmin et la valeur numérique maximale χΛ3Χ. Cet aspect améliore davantage le procédé car les modules informatiques n'ont pas besoin de chercher les occurrences de valeurs numériques correspondant aux positions inférieures à ymin, par exemple les positions entre zéro et yæin..
Plus particulièrement, le système peut être configuré pour travailler sur les valeurs relatives entre y^ et ymax. Ainsi, le module 17 réalise une translation de l’écart spécifique a la liste à trier.
Avantageusement, travailler sur les valeurs relatives permet 1'allocation d'un. tableau comprenant autant ou moins de valeurs, limitant dans ce dernier cas l'occupation de mémoire associée. Il en résulte une accélération du traitement par le système.
Selon une variante, le système comprend en outre, un huitième 18 module pour convertir les valeurs numériques en valeurs entières, préalablement au tri, puis, de préférence, convertir les valeurs entières triées dans le sens opposé après le tri. Cet aspect permet de trier des valeurs non-entière.
En particulier, l'invention porte sur un produit“programme informatique comprenant des parties de code logiciel lisible sur une unité de commande telle qu'un ordinateur ou un appareil de communication mobile, configuré pour donner des instructions de commande pour implémenter les modules décrits précédemment, lorsqu'il est mis en ouvre par l'unité de commande.
Le produit programme peut être mis en œuvre sous la forme d'un support informatique sur lequel le programme est enregistré, ou une application pour appareil mobile.
En outre, l'invention concerne une unité de commande telle qu' un ordinateur ou un appareil de communication mobile comprenant un produit-programme informatique tel que décrit précédemment. L'appareil de communication mobile peut être par exemple un téléphone intelligent « smartphone » ou une tablette.
L'invention concerne également un procédé de tri de valeurs numériques. Le procédé est par exemple mis en œuvre sous la forme d'un algorithme de tri exécuté par ordinateur. Le procédé peut comprendre 1'exécution des modules informatiques exposés ci-dessus.
Le procédé commence par une étape (a) dans laquelle on fournit un premier un premier tableau Αχ comprenant les valeurs numériques de la liste non triée, par exemple Χχ, Xj-, Xaaxi Xmin, ..., xn. Dans cette étape, la série de valeurs numériques de la liste à trier est reportée dans le premier tableau.
Le procédé se poursuit par une étape (b) dans laquelle on détermine la valeur numérique maximale xroax de ladite liste non triée.
Le procédé se poursuit par une étape (c) dans laquelle on fournit un deuxième tableau comprenant un nombre de positions lié à la valeur numérique maximale xffiax.
Le procédé se poursuit par une étape (d) dans laquelle on incrémente les positions du deuxième tableau des occurrences des valeurs numériques correspondantes du premier tableau.
Le procédé se poursuit par une étape (e) dans laquelle on crée une liste triée à partir des valeurs numériques du deuxième tableau dont les positions sont incrémentées.
Avantageusement, les étapes du procédé selon l'invention nécessitent moins de calculs que les solutions de 1'art antérieur comparant toutes les valeurs numériques entre elles pour les classer. Ainsi, un processeur simplifié peut être utilisé pour la mise en œuvre du procédé selon l'invention en limitant de fait les coûts.
Selon une variante, l'étape (d) d'incrémenter comprend incrémenter chaque position du deuxième tableau d'autant d'occurrence(s) de la valeur numérique correspondante du premier tableau.
Selon une variante, les valeurs numériques du deuxième tableau sont initialisées à une valeur numérique minimale donnée, de préférence à zéro.
Selon une variante, le procédé comprend en outre une étape dans laquelle on détermine la valeur numérique minimale (xnm) de ladite liste non triée.
Selon une variante, le procédé comprend en outre, aux fins de créer la liste triée, une étape d'afficher pour chaque entrée du deuxième tableau, les occurrences, en particulier le nombre d'occurrences, desdites valeurs numériques. Cet aspect permet une étape intermédiaire d'affichage des positions du tableau pour lesquelles il n'y a aucune occurrence, ce qui signifie que la valeur numérique correspondante n'était pas présente dans la liste à trier. Seules les occurrences affichées montrent les valeurs numériques de la liste- initiale maintenant triée.
Selon une variante, le procédé est appliqué à des valeurs numériques n'étant pas des entiers non-nuls. Dans ce cas, le procédé peut comprendre en outre une étape de convertir les valeurs numériques en valeurs entières-, préalablement au tri, puis, de préférence, convertir les valeurs entières triées dans le sens opposé après le tri. Un module informatique -adapté peut être prévu à cet effet.
L'invention porte en outre sur un programme informatique pour la mise en oeuvre du procédé ainsi qu'une unité de commande et un système associes.
Exemple1 : Liste d'entiers
L'exemple 1 sera détaillé sur la base d'éléments fournis par le système à un utilisateur.
La liste à trier est la suivante :
13, 56, 17, 44, 21, 97, 9, 47, 56, 21, 97.
- Etape (a) : fourniture du premier tableau
Tab 1 ~ [13, 56, 17, 44, 21, 97, 9, 47, 56, 21, 97]
Optionnellement, une étape de déclaration d'une liste temporaire et de la liste triée peut être ensuite prévue.
- Etape (b) : Détermination de la valeur numérique maximale (Xittast) ·
Xffiax= 97
- Etape (c) : fourniture du deuxième tableau 97 entrées, de préférence initialisées à zéro.
Tab 2 = [0, 0] ; len(Tab 2) =98
- Etape (d) : Incrémentation des positions du deuxième tableau des occurrences des valeurs numériques correspondantes du premier tableau :
Tab 2[13]+ ; Tab 2[56]+ ; Tab 2[9]+ ; Tab 2 [47] + ;
Tab 2 [17] + ; 30 Tab 2 [56]+ ;
Tab 2 [44] + ; Tab 2 [ 21]+ ;
T ab 2 [ 21]+ ; Tab 2[97]+.
T ab 2 [97] + ;
- Etape tableau, (e) : Γ ) Affichage poux chaque entrée du deuxième le nombre d'occurrences, desdites valeurs numériques :
35 Entrée 0 : (aucun affichage) ...... (aucun affichage)
/ 40 Entrée 9 : 9 ;
Entrée 1 : (aucun affichage) ... (aucun affichage)
Entrée 13 : 13 ;
13
... (aucun affichage) ... (aucun affichage)
Entrée 17 : 17 ; Entrée 47 : 47 ;
... (aucun affichage) ... (aucun affichage)
Entrée 21 : 21, 21 ; 10 Entrée 56 : 56, 56 ;
5 ... (aucun affichage) ... (aucun affichage)
Entrée 44 : 44 ; Entrée 97 : 97, 97.
2e) Création d'une liste triée a partir des valeurs numériques
du deuxième tableau dont les positions sont incrémentées.
Affichage final :
9, 13, 17, 21, 21, 44, 47, 56, 97, 97.
Exemple 2 : Liste de valeurs positives et négatives
L'exemple 2 sera détaillé sur la base d'un code de programme ici en langage « SWIFT ».
« iznport Foundation // exemple de liste à trier comportant des entiers relatifs.
Xet initArray - [13, 56, 17, -44, 21, 97, 9, 47, 56, 21, 97] // déclarations d'une liste temporaire et de la liste triée, var tempArray = flntj (J var sortedÆrray = [Int] () // impression de la liste à trier.
0 prin t fini tArray) ;
// initialisation des variables compteurs.
var i — 0 var j = O var 1 — 0 // initialisation de la valeur maximale des valeurs de la liste à trier.
var arrayMax — Infc.min var arrayMin = Int.nax // parcours de la liste à trier pour déterminer les valeurs minimale et maximale.
for i in 0... initArray. aount - 1 { if initArray[±] > arrayMax { arrayMax ~ initArray[i] }
if initArray[i] < anayMin { arrayMin = initArrayli] }
// remplissage de la liste triée qui a la même dimension que la liste initiale.
sortedArray. append(O) }
JJ translation de l'écart pour travailler sur les valeurs relatives.
var arrayReiativeMax = arrayMax - arrayMin // dimensionnement et initialisation de la liste temporaire qui contiendra le nombre d'occurrences // des valeurs entières relatives rencontrées dans la liste à trier.
for x in 0. . . arrayReZativeMax f tewpArray.append (0) }
// remplissage de la liste temporaire. for i in 0. ..initArray.co-ant - 1 {
JJ augmenter le nombre d'occurrences de 1 pour la valeur courante relative de la liste initiale.
ten^>Array[initArray[±] - arrayMin] += 1 } // remplissage de la liste triée.
for i in 0... arrayRelativeMax f // pour chaque colonne de la liste temporaire trouvée... jet Jt = tenqpArray[i] // si la valeur de la colonne est supérieure à zéro, c'est que la liste à trier // comporte au moins une fois la valeur de l'indice de la colonne.
if (k > 0) { // ajouter autant de fois cette valeur pour constituer la liste triée.
for j in 1...k {
JJ translation inverse pour retrouver les valeurs de la liste initiale.
sortedArrayll] = x + arrayMin += 1 }
} f
// impression de la liste triée.
print fsoz-tedMrrayl;
Dans les exemples d'applications du système selon l'invention, les informations identifiées par les valeurs peuvent être triées par exemple par ordre croissant. Il peut 10 s'agir par exemple d'informations associées à une échelle de pertinence dans des applications informatiques. Lorsque la quantité de données est significative, le recours au système selon l'invention permet de limiter les temps de calculs, d'occupation de mémoire, tout en ayant une bonne efficacité de 15 tri.

Claims (8)

  1. REVENDICATIONS
    1. Système de tri d'informations identifiées par des valeurs numériques (xx, x2, x.„, x^n, xJ mettant en œuvre des moyens informatiques, le système comprenant :
    - un premier module (11) pour fournir un premier tableau (Aj) comprenant lesdites valeurs numériques, ~ un deuxième module (12) pour déterminer la valeur numérique maximale (x-.„) parmi lesdites valeurs numériques,
    - un troisième module (13) pour fournir un deuxième tableau (A2) comprenant un nombre de positions lié à la valeur numérique maximale (ya, yb, ..., y^),
    - un quatrième modale (14) pour incrémenter les positions du deuxième tableau (A2) , des occurrences desdites valeurs numériques correspondantes du premier tableau, et
    - un cinquième module (15) pour exporter les informations identifiées, par lesdites valeurs numériques triées, en fonction des positions incrémentées du deuxième tableau (Aa) .
  2. 2. Système de tri. selon la revendication précédente, dans lequel le quatrième module (14) pour incrémenter est configuré pour incrémenter chaque position du deuxième tableau d'autant d’occurrence(s) de la valeur numérique correspondante du premier tableau (Ai) .
  3. 3. Système de tri selon l'une des revendications précédentes, comprenant un sixième module (16) pour initialiser les valeurs numériques du deuxième tableau (As) à une valeur numérique minimale donnée, de préférence à zéro.
  4. 4. Système de tri selon l'une des revendications précédentes, comprenant en outre un septième module (17) pour déterminer la valeur numérique minimale (x^i„) du premier tableau (Ai) , le troisième module (13) pour fournir le deuxième tableau réalisant un nombre de positions (y.<a, y», yb, ..., y^*) lié en outre à ladite valeur numérique minimale (¾) .
  5. 5. Système de tri selon l'une des revendications précédentes, comprenant en outre, un huitième module (18) pour convertir les valeurs numériques en valeurs entières, préalablement au tri, puis, de préférence, convertir les valeurs entières triées dans le sens opposé après le tri.
  6. 6. Produit-programme informatique comprenant des parties de code logiciel lisible sur une unité de commande telle qu' un ordinateur ou un appareil de communication mobile, configuré pour donner des instructions de commande aux modules (11, 12,..., 15) d'un système selon l'une des revendications précédentes pour réaliser un tri d'informatiens identifiées par des valeurs numériques (x1( x2, ..., xB) , lorsqu'il est mis en œuvre par l'unité de commande.
  7. 7. Unité de commande telle qu'un ordinateur ou un appareil de communication mobile comprenant un produit-programme informatique selon la revendication précédente.
  8. 8. Procédé de tri mis en œuvra par des moyens informatiques par un. .système selon l'une des revendications 1 à 5, comprenant les étapes suivantes :
    - fournir un premier tableau (Αχ) comprenant lesdites valeurs numériques,
    - déterminer la valeur numérique maximale parmi, lesdites valeurs numériques,
    - fournir un deuxième tableau (A2) comprenant un nombre de positions lié à la valeur numérique maximale (ya, yb, ..., y.»*) ,
    - incrémenter les positions du deuxième tableau (A2), des occurrences desdites valeurs numériques correspondantes du premier tableau, et
    - exporter les informations identifiées par lesdites valeurs numériques triées en fonction des positions incrémentées du deuxième tableau (As) .
FR1760268A 2017-10-31 2017-10-31 Systeme et programme de tri d'information identifiees par des valeurs numeriques Pending FR3073060A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1760268A FR3073060A1 (fr) 2017-10-31 2017-10-31 Systeme et programme de tri d'information identifiees par des valeurs numeriques

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1760268 2017-10-31
FR1760268A FR3073060A1 (fr) 2017-10-31 2017-10-31 Systeme et programme de tri d'information identifiees par des valeurs numeriques

Publications (1)

Publication Number Publication Date
FR3073060A1 true FR3073060A1 (fr) 2019-05-03

Family

ID=61750221

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1760268A Pending FR3073060A1 (fr) 2017-10-31 2017-10-31 Systeme et programme de tri d'information identifiees par des valeurs numeriques

Country Status (1)

Country Link
FR (1) FR3073060A1 (fr)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Introduction to Algorithms - II 8 Sorting in Linear Time", 1 January 2009, MIT PRESS, ISBN: 978-0-262-03384-8, article THOMAS H. CORMEN ET AL: "Introduction to Algorithms - II 8 Sorting in Linear Time", pages: 191 - 212, XP055499465 *
ANONYMOUS: "CountingSort.java", GITHUB, 5 August 2015 (2015-08-05), XP055499613, Retrieved from the Internet <URL:https://github.com/gwtw/java-sorting/blob/master/src/com/growingwiththeweb/sorting/CountingSort.java> [retrieved on 20180814] *
PIOTR PELCZAR: "Comparation of execution time sort algorithms implementations in C Counting sort and Bucket sort", 8 March 2014 (2014-03-08), pages 1 - 20, XP055499607, Retrieved from the Internet <URL:http://athlan.pl/incopy/polsl-benchmark-sort-algorithms/Main.pdf> [retrieved on 20180814] *

Similar Documents

Publication Publication Date Title
US8190623B2 (en) Image search engine using image analysis and categorization
US9336314B2 (en) Dynamic facet ordering for faceted search
US11170061B2 (en) System for decomposing events from managed infrastructures that includes a reference tool signalizer
CN110287420B (zh) 一种信息推荐系统的训练方法及装置
EP2374075A1 (fr) Procede et systeme pour classifier des donnees issues de base de donnees
FR2973134A1 (fr) Procede pour affiner les resultats d&#39;une recherche dans une base de donnees
EP1259939B1 (fr) Procede et dispositif de perception automatique
CN111367872A (zh) 用户行为分析方法、装置、电子设备及存储介质
US20120310973A1 (en) System and method for determining query aspects at appropriate category levels
EP1912170A1 (fr) Dispositif informatique de corrélation propagative
US11429660B2 (en) Photo processing method, device and computer equipment
FR3073060A1 (fr) Systeme et programme de tri d&#39;information identifiees par des valeurs numeriques
FR3094104A1 (fr) Procédé et dispositif de détermination de la taille mémoire globale d’une zone mémoire globale allouée aux données d’un réseau de neurones compte tenu de sa topologie
EP4202770A1 (fr) Reseau de neurones avec generation a la volee des parametres du reseau
CN112036935B (zh) 广告数据加载方法和装置
CA2989514A1 (fr) Procede et systeme d&#39;aide a la maintenance et a l&#39;optimisation d&#39;un supercalculateur
WO2019086782A1 (fr) Procédé, dispositif et programme de composition d&#39;une liste ordonnée d&#39;éléments recommandés
WO2018206871A1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
WO2017103116A1 (fr) Procede et calculateur d&#39;analyse predictive
FR3044785B1 (fr) Procede de configuration optimisee d&#39;un systeme executant une pluralite d&#39;applications, notamment dans un vehicule
US20230153822A1 (en) Method and system for identifying prospective transaction participants
WO2023180257A1 (fr) Procédé et dispositif d&#39;entraînement d&#39;une structure de neurones artificiels et programme d&#39;ordinateur associé
EP4354350A1 (fr) Procédé de génération d&#39;un code exécutable par ordinateur pour mettre en oevre un réseau de neurones artificiels
EP4343623A1 (fr) Réseau de neurones artificiels comportant au moins une cellule unitaire quantifiée en binaire
WO2020136264A1 (fr) Procédé de génération d&#39;un exemple adversaire pour un modèle d&#39;apprentissage automatique, procédé de robustification, dispositif de génération et programme produit ordinateur associés

Legal Events

Date Code Title Description
EXTE Extension to a french territory

Extension state: PF

PLSC Publication of the preliminary search report

Effective date: 20190503

RX Complete rejection

Effective date: 20200305