Теорема о максимальном числе ребер в графе
Замечание. Для связного графа и , а это число ребер в полном графе.
Доказательство. Пусть -тая связная компонента, , тогда . Так как мы хотим получить максимальное число ребер, пусть все связные компоненты – полные графы, число ребер в ровно , а общая сумма ребер будет .
Наша цель: не меняя общего числа вершин и числа связных компонент, перестроить граф так, чтобы получить максимальное число ребер.
Рассмотрим две связные компоненты и , и пусть . Построим вместо них полные графы и с числом вершин и . Общее число вершин не изменилось, посмотрим, как изменилось число ребер:
Число ребер увеличилось, как минимум на 1.
Проделаем следующую процедуру:
выберем связную компоненту с наибольшим числом вершин и будем увеличивать число вершин в этой связный компоненте, за счет уменьшения числа вершин в других связных компонентах, при этом общее число ребер будет все время увеличиваться. Очевидно, оно достигает максимума, когда одна компонента будет полным графом с вершинами, а остальные компоненты будут изолированными вершинами и число ребер будет
Следствие. Если то и это максимальное число ребер при двух связных компонентах. Поэтому, если , то граф связный.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
М416. О максимальном количестве ребер в таком графе, что никакие три ребра не создают треугольник
На плоскости даны $n$ точек $A_,\ldots,A_$, никакие три из которых не лежат на одной прямой. Какое наибольшее число отрезков с концами в этих точках можно провести так, чтобы не получилось ни одного треугольника с вершинами в этих точках?
Решение
Проведем максимальное число отрезков с концами в точках $A_,\ldots,A_$. Получим некоторый граф с вершинами в этих точках. Отрезки с концами в вершинах графа будем называть ребрами графа. Оценим число ребер в нашем графе.
Назовем степенью вершины в графе число выходящих из неё ребер. Пусть $k$ — максимальная степень вершины в графе, и пусть некоторая вершина $A_$ соединена с $k$ вершинами $A_>,\ldots,A_>$ графа (рисунок 1).
Тогда степень любой вершины из множества $\left \< A_>,\ldots,A_> \right \>$ не превосходит $n-k$ ($n$ — число вершин графа), поскольку любые вершины из этого множества уже не могут быть соединены ребром (в нашем графе никакие три ребра не образуют треугольника — с вершинами в вершинах графа). Так как $k$ — максимальная степень вершины в графе, степень каждой из оставшихся $n-k$ вершин не превосходит $k$. Поэтому сумма степеней всех вершин графа не превосходит $$k \left(n-k \right )+ \left (n-k \right) k=2k \left (n-k\right).$$ Но легко видеть, что сумма степеней всех вершин графа равна удвоенному количеству его ребер. Следовательно, количеств ребер графа не больше $$k\left(n-k\right)\leqslant\left(\frac\right)^=\frac
Укажем теперь способ построения графа без треугольников с $n$ вершинами, число ребер которого в точности равно $\left [ \frac>\right]$.
Разобьем множество точек $A_,\ldots,A_$ на два: $\left [ \frac \right ]$ точек в одном множестве и $n — \left [ \frac \right ]$ — в другом. Соединив все точки точки первого множества с точками второго (как на рисунке 2, где $n=5$), мы получим граф, у которого не будет ни одного треугольника с вершинами в точках $A_,\ldots,A_$.
Число ребер в этом графе, очевидно, равно $\left [ \frac \right ]\left(n-\left [ \frac \right ]\right)$. Если $n$ — четное, то $$\left [ \frac \right ]\left (n-\left [ \frac \right ]\right)=\frac
Итак, ответ в задаче: максимальное число отрезков равно $\left [ \frac>\right]$(этот результат в теории графов называют теоремой Турана).
Какое максимальное число ребер может быть в графе на 100 вершинах
Submit to our newsletter to receive exclusive stories delivered to you inbox!

Васян Коваль
Какое наибольшее число ребер может быть в двудольном графе на 100 вершинах?
Лучший ответ:

Главный Попко
пусть в одной доле m вершин, а во второй доле n вершин, тогда количество ребер наибольшее будет, если каждая вершина одной доли соединена с каждой вершиной второй доли, тогда количество ребер равно:
n * m = n*(100 — n) = 100n — n² = 2500 — (50² — 2*50*n n²) =
=2500 — (50 — n)² ≤ 2500
т.е. количество вершин не больше 2500, причем равно 2500, если m = n = 50
Какое наибольшее число ребер может быть в двудольном графе на 100 вершинах?
пусть в одной доле m вершин, а во второй доле n вершин, тогда количество ребер наибольшее будет, если каждая вершина одной доли соединена с каждой вершиной второй доли, тогда количество ребер равно:
n * m = n*(100 — n) = 100n — n² = 2500 — (50² — 2*50*n + n²) =
=2500 — (50 — n)² ≤ 2500
т.е. количество вершин не больше 2500, причем равно 2500, если m = n = 50
Дано:
tgα = 8/15
α ∈ (π; 3π/2) ⇒ 3-ья четверть
Решение:
Cos(2α) = Cos²α — Sin²α = Cos²α — (1 — Cos²α) = 2Cos²α — 1
1 + tg²α = 1 / Cos²α
1 + 64/225 = 1 / Cos²α
289/225 = 1 / Cos²α
Cos²α = 225/289 ⇒ Cosα = ±√(225/289) = -15/17
Cosα со знаком минус, потому что в третьей четверти Cos имеет знак минус.
Значит:
Cos(2α) = 2*(-15/17)² — 1 = 2*(225/289) — 1 = 450/289 — 1 = 161/289
Какое наибольшее число рёбер может быть в двудольном графе на 100 вершинах?
В двудольном графе, который содержит n вершин в одной доле и m вершин в другой, наибольшее количество рёбер будет тогда, когда каждая вершина из одной доли будет соединена с каждой вершиной в другой доле.
В этом случае количество ребёр будет равно n*m
В нашей задаче известно, что граф содержит 100 вершин.
Пусть количество вершин в одной доле равно n. Тогда в другой доле будет 100 — n вершин.
Количество ребёр тогда равно n(100 — n)
n(100 — n) = -n² + 100n
График полученного выражения — парабола, ветви которой направлены вниз (т.к. коэффициент при n² меньше 0)
Похожие публикации:
- Как сохранить пропорции рисунка в ворде в заливке
- Как стать 1с разработчиком
- Как строку занести в массив c
- Как считать русский текст из файла c
Теория графов. Термины и определения в картинках

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.
Самый объёмный модуль на курсе «Алгоритмы и структуры данных» посвящён теории графов.
Граф — это топологичекая модель, которая состоит из множества вершин и множества соединяющих их рёбер. При этом значение имеет только сам факт, какая вершина с какой соединена.
Например, граф на рисунке состоит из 8 вершин и 8 рёбер.

Очень многие задачи могут быть решены используя богатую библиотеку алгоритмов теории графов. Для этого достаточно лишь принять объекты за вершины, а связь между ними — за рёбра, после чего весь арсенал алгоритмов теории графов к вашим услугам: нахождение маршрута от одного объекта к другому, поиск связанных компонент, вычисление кратчайших путей, поиск сети максимального потока и многое другое.
В этой статье мы познакомимся с основными терминами и определениями теории графов. На курсе “Алгоритмы и Структуры данных” в компании Отус “Теория графов” изучается в самом объёмном модуле из 6 вебинаров, где мы изучаем десяток самых популярных алгоритмов.
Вершина — точка в графе, отдельный объект, для топологической модели графа не имеет значения координата вершины, её расположение, цвет, вкус, размер; однако при решении некоторых задачах вершины могут раскрашиваться в разные цвета или сохранять числовые значения.
Ребро — неупорядоченная пара двух вершин, которые связаны друг с другом. Эти вершины называются концевыми точками или концами ребра. При этом важен сам факт наличия связи, каким именно образом осуществляется эта связь и по какой дороге — не имеет значения; однако рёбра может быть присвоен “вес”, что позволит говорить о “нагруженном графе” и решать задачи оптимизации.
Инцидентность — вершина и ребро называются инцидентными, если вершина является для этого ребра концевой. Обратите внимание, что термин “инцидентность” применим только к вершине и ребру.
Смежность вершин — две вершины называются смежными, если они инцидентны одному ребру.
Смежность рёбер — два ребра называются смежными, если они инцедентны одной вершине.
Говоря проще — две вершины смежные, если они соединены ребром, два ребра смежные — если они соединены вершиной.

Петля — ребро, инцидентное одной вершине. Ребро, которое замыкается на одной вершине.
Псевдограф — граф с петлями. С такими графами не очень удобно работать, потому что переходя по петле мы остаёмся в той же самой вершине, поэтому у него есть своё название.

Кратные рёбра — рёбра, имеющие одинаковые концевые вершины, по другому их называют ещё параллельными.
Мультиграф — граф с кратными рёбрами.
Псевдомультиграф — граф с петлями и кратными рёбрами.

Степень вершины — это количество рёбер, инцидентных указанной вершине. По-другому — количество рёбер, исходящих из вершины. Петля увеливает степень вершины на 2.
Изолированная вершина — вершина с нулевой степенью.
Висячая вершина — вершина со степенью 1.

Подграф. Если в исходном графе выделить несколько вершин и несколько рёбер (между выбранными вершинами), то мы получим подграф исходного графа.

Идея подграфов используется во многих алгоритмах, например, сначала создаётся подграф их всех вершин без рёбер, а потом дополняется выбранными рёбрами.
Полный граф — это граф, в котором каждые две вершины соединены одним ребром.

Сколько рёбер в полном графе? Это известная задача о рукопожатиях: собралось N человек (вершин) и каждый с каждым обменялся рукопожатием (ребро), сколько всего было рукопожатий? Вычисляется как сумма чисел от 1 до N — каждый новый участник должен пожать руку всем присутствующим, вычисляется по формуле: N * (N — 1) / 2.
Регулярный граф — граф, в котором степени всех вершин одинаковые.

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

Планарный граф. Если граф можно разместить на плоскости таким образом, чтобы рёбра не пересекались, то он называется “планарным графом” или “плоским графом”.

Если это невозможно сделать, то граф называется “непланарным”.
Минимальные непланарные графы — это полный граф К5 из 5 вершин и полный двудольный граф К3,3 из 3+3 вершин (известная задача о 3 соседях и 3 колодцах). Если какой-либо граф в качестве подграфа содержит К5 или К3,3, то он является непланарным.

Путь или Маршрут — это последовательность смежных рёбер. Обычно путь задаётся перечислением вершин, по которым он пролегает.
Длина пути — количество рёбер в пути.
Цепь — маршрут без повторяющихся рёбер.
Простая цепь — цепь без повторяющихся вершин.

Цикл или Контур — цепь, в котором последняя вершина совпадает с первой.
Длина цикла — количество рёбер в цикле.
Самый короткий цикл — это петля.

Цикл Эйлера — цикл, проходящий по каждому ребру ровно один раз. Эйлер доказал, что такой цикл существует тогда, и только тогда, когда все вершины в связанном графе имеют чётную степень.

Цикл Гамильтона — цикл, проходящий через все вершины графа по одному разу. Другими словами — это простой цикл, в который входят все вершины графа.

Взвешенный граф — граф, в котором у каждого ребра и/или каждой вершины есть “вес” — некоторое число, которое может обозначать длину пути, его стоимость и т. п. Для взвешенного графа составляются различные алгоритмы оптимизации, например поиск кратчайшего пути.

Пока ещё не придуман алгоритм, который за полиномиальное время нашёл бы кратчайший цикл Гамильтона в полном нагруженном графе, однако есть несколько приближённых алгоритмов, которые за приемлимое время находят если не кратчайший, то очень короткий цикл, эти алгоритмы мы также рассматриваем на курсе Отуса — “Алгоритмы и структуры данных”.
Связный граф — граф, в котором существует путь между любыми двумия вершинами.
Дерево — связный граф без циклов.
Между любыми двумя вершинами дерева существует единственный путь.
Деревья часто используются для организации иерархической структуры данных, например, при создании двоичных деревьев поиска или кучи, в этом случае одну вершину дерева называют корнем.

Лес — граф, в котором несколько деревьев.

Ориентированный граф или Орграф — граф, в котором рёбра имеют направления.
Дуга — направленные рёбра в ориентированном графе.

Полустепень захода вершины — количество дуг, заходящих в эту вершину.
Исток — вершина с нулевой полустепенью захода.
Полустепень исхода вершины — количество дуг, исходящих из этой вершины
Сток — вершина с нулевой полустепенью исхода.

Компонента связности — множество таких вершин графа, что между любыми двумя вершинами существует маршрут.

Компонента сильной связности — максимальное множество вершин орграфа, между любыми двумя вершинами которого существует путь по дугам.
Компонента слабой связности — максимальное множество вершин орграфа, между любыми двумя вершинами которого существует путь по дугам без учёта направления (по дугам можно двигаться в любом направлении).

Мост — ребро, при удалении которого, количество связанных компонент графа увеличивается.

Это только основные термины и определения теории графов, которые мы рассматриваем на первом вебинаре модуля “Теория графов”. Цель статьи — дать наглядное и понятное представление об этих терминах, для чего и были нарисованы эти картинки.
- Узнать о курсе подробнее
- Записаться на интенсив: «Алгоритм сжатия данных — код Хаффмана. Создание Архиватора.». День 1
- Записаться на интенсив: «Алгоритм сжатия данных — код Хаффмана. Создание Архиватора.». День 2