ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Hihin Ruslan <ruslandh@altlinux.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] [JT] std::sort
Date: Sun, 17 Dec 2006 22:42:52 +0300
Message-ID: <200612172243.08870@ruslandh> (raw)
In-Reply-To: <20061217205419.1f26d7bb@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 2250 bytes --]

Здравствуйте Alex V. Myltsev
  В сообщении от Sunday 17 December 2006 20:54 Alex V. Myltsev 
написал(a):

 > Этого мало. Это у вас вроде строгий частичный порядок получается, но
 > он
 >
 > допускает такую ситуацию: a<b<c<e, a<d<e, пары (b,d) и (c,d)
 > несравнимы.
  > То есть несравнимость может быть нетранзитивной, а это плохо:
 > например,
 >
 > подают нам на вход последовательность {a,c,d,b,e}; она
 > неупорядочена, а
  > сравнением соседних элементов мы этого обнаружить не можем. И
  > сортировка вся идёт лесом.
Как это не парадоксально,  но если читать что несравнимость - это один 
из видов равенства, то можно упорядочить в - вашем примере 
{a,b,c,d,e} или {a,(b,,d),e} - где (c,d,e) - любая перестановка из c,d,e
 Интереснее вариант  a<b<c<e, b<d<e, пары (a,d), (c,d) несравнимы
Имеем {a,b,(c,d),e}, т.е. значение (сортировочной меры) несравнимого 
элемента должно быть равно максимальному из несравнимых с ней 
элементов.
  Если-бы упорядочивали по убыванию, а не по возрастанию, то тогда-бы 
был минимальный элемент.
 В любом случае первый этап такой сортировки - каждому элементу 
присвоить сортировочную меру (вес), а потом сортировать уже элементы по 
этой сортировочной мере.

Т.е. имеем соизмеримые элементы - с ними всё ясно - всегда можно 
проиндексировать их, и несравнимые - для них вначале (до присвоения 
реального веса) можно считать, что их вес очень большой и равен 
условному максимуму. Но как только находится максимальный вес 
несравнимого элемента, присваивается этот вес.

В нашем примере имеем первоначальные веса :
Исходя из b<d<e:
b=1
d=2
e=3

Исходя из a<b<c :
a=1
b=2
c=3

Т.к. у b входит в оба "графа", то имеем откорректированные веса первой 
ветки:
b=2; d=3; e=4;

Т.к. все ветки дерева пройдены и все элементы пройдены - имеем :
a=1 b=2 c=3 d=3 e=3
 
В общем имеем ситуацию сортировки элементов графа 


 > А требуемый strict weak ordering -- это почти полный порядок, но
 > только
 > каждый элемент может быть в нескольких экземплярах. "Нестрогий
 > полный
 > порядок", что ли :).
Это тоже алгоритм, но приводит к дублированию элементов.

 >
 > > Да я Страуса листал а у него книжка толстая и наполовину
 > > бестолковая.
 >
 > Google лучше.
 Может  я мои мысли помогут :)
 
-- 
С уважением Xихин Руслан

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2006-12-17 19:42 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-09 22:32 [devel] apt virtual packages Alexey Tourbin
2006-10-09 22:41 ` Dmitry V. Levin
2006-10-10  0:40   ` Alexey Tourbin
2006-10-10 15:39     ` Dmitry V. Levin
2006-10-10 15:52       ` Alexey Tourbin
2006-10-10 22:11         ` Dmitry V. Levin
2006-10-11  0:16           ` Alexey Tourbin
2006-10-12  9:18             ` Serge Pavlovsky
2006-12-07 22:52             ` Dmitry V. Levin
2006-12-08 21:27               ` Alexey Tourbin
2006-12-08 21:43                 ` Dmitry V. Levin
2006-12-08 21:59                   ` Alexey Tourbin
2006-12-08 22:01                 ` Dmitry V. Levin
2006-12-08 22:23                   ` Dmitry V. Levin
2006-12-13  3:35               ` Alexey Tourbin
2006-12-14 23:40               ` Alexey Tourbin
2006-12-14 23:46                 ` Alexey Tourbin
2006-12-14 23:54                   ` Alexey Tourbin
2006-12-15  1:25                 ` Alexey Tourbin
2006-12-15 13:49                   ` Michael Shigorin
2006-12-15 16:52                     ` Alexey Tourbin
2006-12-15 22:27                   ` Dmitry V. Levin
2006-12-15 22:42                     ` Alexey Tourbin
2006-12-16 12:03                       ` Alexey I. Froloff
2006-12-16 20:19                         ` Alexey Tourbin
2006-12-16 21:02                           ` Dmitry V. Levin
2006-12-16 21:08                             ` Alexey Tourbin
2006-12-16 21:26                               ` Dmitry V. Levin
2006-12-16 21:42                                 ` Alexey Tourbin
2006-12-17 13:51                             ` Alexey I. Froloff
2006-12-17 14:12                               ` Alexey Tourbin
2006-12-17 16:47                                 ` [devel] Papadimitriou Alexey Tourbin
2006-12-17 16:58                                 ` [devel] apt virtual packages Alex V. Myltsev
2006-12-17 17:45                                   ` Alexey Tourbin
2006-12-17 17:57                                     ` [devel] [JT] " Alex V. Myltsev
2006-12-17 18:13                                       ` Alexey Tourbin
2006-12-17  9:58                     ` [devel] " Alexey Tourbin
2006-12-17 10:02                       ` Alexey Tourbin
2006-12-17 10:37                         ` Alexey Tourbin
2006-12-17 13:43                   ` [devel] [PATCH] " Alexey Tourbin
2006-12-17 13:46                     ` [devel] gendiff Alexey Tourbin
2006-12-17 14:14                     ` [devel] [PATCH] apt virtual packages Alexey Tourbin
2006-12-17 16:09                       ` Alexey Tourbin
2006-12-17 16:15                         ` Alexey Tourbin
2006-12-17 17:05                           ` Hihin Ruslan
2006-12-17 17:17                             ` Alexey Tourbin
2006-12-17 16:41                         ` Alexey Tourbin
2006-12-17 16:49                           ` [devel] std::sort Alex V. Myltsev
2006-12-17 17:15                             ` Alexey Tourbin
2006-12-17 17:54                               ` [devel] [JT] std::sort Alex V. Myltsev
2006-12-17 18:06                                 ` Alexey Tourbin
2006-12-17 19:42                                 ` Hihin Ruslan [this message]
2006-12-17 20:01                                   ` Hihin Ruslan
2006-12-17 20:33                                     ` Hihin Ruslan
2006-12-17 20:18                                   ` Alex V. Myltsev
2006-12-18  7:51                                     ` Hihin Ruslan
2006-12-18 10:39                         ` [devel] [PATCH] apt virtual packages Led
2006-12-18 13:17                           ` Alexey Tourbin
2006-12-17 16:51                       ` Dmitry V. Levin
2006-12-20 17:25                     ` Alexey Tourbin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200612172243.08870@ruslandh \
    --to=ruslandh@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git