Лучший Учебник По Теории Графов

Posted on

Определение 5.4. Ориентированный граф называют слабо связным, если ассоциированный с ним неориентированный граф связный. Компонентой слабой связности (слабой компонентой) ориентированного графа называют его максимальный слабо связный подграф. Ориентированные графы, представленные на рис. 5.3, 5.9 и 5.8, являются слабо связными. Ориентированный граф, изображенный на рис. 5.10, не является слабо связным, поскольку не является связным ассоциированный с ним неориентированный граф.

  1. Лучший Учебник По Теории Графов
  2. Хороший Учебник По Теории Графов
  3. Учебник По Теории Графов

Ориентированный граф на рис. 5.10,а имеет две компоненты слабой связности. Соответственно ассоциированный с ним неориентированный граф на рис. 5.10,б имеет две компоненты связности.

  1. Читать или скачать книги и учебники на тему 'теория графов' в электронной библиотеке KnigaFund. В курсе излагаются основные понятия теории графов. Описаны методы решения задач. Материал организован так, что знакомство с графами происходит в процессе решения самых разнообразных задач, в формулировках условий которых не упоминаются графы. Для решения их требуется увидеть возможность перевести условие на язык графов, решить задачу внутри теории графов, интерпретировать получение решение в исходных терминах.
  2. Расскажем об основных элементах теории графов и рассмотрим применение теории. Теория графов представляет собой один из наиболее важных и интересных, но в то же время один из самых сложных и непонятных разделов в информатике. Понимание и использование графов делает нас более квалифицированными специалистами. Итак, графы – хороший выбор для визуализации задачи. Но сейчас нам нужно выяснить, как проблема Кёнигсбергских мостов может быть решена с использованием графов. Это больше похоже на гибридную структуру данных, чем на простой граф, который мы привыкли видеть в учебниках. Это ключевой момент в представлении графов.

Как-то раз сидели мы в вегетарианском кафе с одним молодым (на порядок моложе меня) и талантливым математиком. Обсуждали конечно же математику и секс (кстати, на написание статьи во многом сподвиг меня именно он в тот вечер). Один из вопросов, который обсуждался — это список тем и книг, с которыми должен быть знаком начинающий математик на базовом уровне. Под базовым уровнем считается четвертый курс математической специальности. Поскольку я сам изучаю математику на 90% самостоятельно, я обратился к моему товарищу за советом: что изучать? И он накидал мне список. Он попросил меня не упоминять его имени и фамилии в блоге, но список позволил опубликвать.

Хорошо организованный и простой для понимания Web Building учебники с большим количеством.

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

Так же нет ретроградства в виде рекомендаций учебников алгебры Гельфанда и Ван дер Вардена, которые может быть и хорошие книги, но уже давно появились гораздо более удачные учебники, о которых старшее поколение может просто не знать. Ну и от себя я добавлю, что сам список на мой взгляд не полный. Не хватает теории графов, комбинаторики, теории вероятностей и прочих вещей, с которыми математик все же должен быть знаком по моему убеждению — список в этом плане сильно отражает научные интересы моего товарища. Я его публикую в том виде, в каком он его составил без каких-либо правок. Алгебра Базовый уровень. Теория представлений симметрической группы ( Фултон У.

Таблицы Юнга и их приложения к теории представлений и геометрии.). Теория групп и алгебр Ли (связь с симплектической геометрией метод орбит Кириллова) ( Винберг Э.Б., Онищук А.Л.

Семинар по группам Ли и алгебраическим группам, Серр Ж.-П. Алгебры Ли и группы Ли, Хамфрис Дж.

Введение в теорию алгебр Ли и их представлений, Кириллов А.А. Элементы теории представлений, Кириллов А.А. Лекции по методу орбит.). Теория квантовых групп, бесконечномерных алгебр Ли (алгебры Вирасоро, алгебры Каца-Муди) и групп петель, плюс начала теории вертексных операторных алгебр. ( Демидов E.E. Квантовые группы, Бурман Ю.М., Фейгин Б.Л. Бесконечномерные алгебры Ли — I: полубесконечные формы, алгебра Вирасоро и вертексные операторы, Кац В.Г.

По умолчанию мы все считаемся умными и воспитанными людьми. Складные ножи с длинным лезвием.

Бесконечномерные алгебры Ли, Прессли Э., Сигал Г. Группы петель). Введение в геометрическую теория представлений (извращенные пучки, геометрическая конструкция U(sln); ит.д.) ( Chriss N., Ginzburg V. Representation theory and complex geometry.) Коммутативная алгебра. Анализ на многообразиях с привлечением пучков, векторные расслоения ( Вербицкого М.

Курс Анализ-4 (НМУ), Ramanan S. Global calculas, Неструев Дж. Гладкие многообразия и наблюдаемые, Мищенко А.С. Векторные расслоения и их применение).

Ведение в операторные алгебры, некоммутативная геометрия Конна, применение операторных алгебр в топологии (общая идеология) ( Мерфи Дж. C.-алгебры и теория оперторов, Соловьев Ю.П., Троицкий Е.В. C.-алгебры и эллиптические операторы в дифференциальной топологии) Алгебраический анализ. Comment by — @. Там не то,чтобы совсем формулой,там местами поменялось. То есть сейчас вводится определитель как число по формуле и далее доказывается теорема о том,что определитель кососимметрическая,полилинейная функция и что любая кососимметрическая,полилинейная функция на мн-ве квадратных матриц имеет вид f(A)=f(E)det A. Ранее же доказывалась теорема,где утверждалось,что такая ф-ция единственна,показывался её вид и она называлась определителем(коряво объяснил,извиняюсь,но поздно уже).

Разница только в том,по сути,что теорему с определением местами поменяли, но то,как это было раньше,казалось мне более концептуальным. Я сначала не совсем правильно объяснил,да и сейчас туго,поздно,засыпаю,если что,то завтра объясню по-человечески что имел ввиду. Comment by measure0 — @.

measure0, ну хотя бы потому что надо думать о мотивации человека. Вначале надо показать практическую задачу, потом показать, как с помощью математических абстракций можно задачу решить, потом показать возможные обобщение, а там уже можно двигаться от общего к частному. Если же действовать как вы, то все 500 страниц человек просто не будет понимать зачем все это. Сотни страниц доказательств каких-то свойств каких-то групп, колец и полей — совершенно абстрактных, совершенно для студента первого курса неприложимых никуда. Это убьет любое желание разбираться с предметом. Прежде всегда должна быть мотивация, например какой-то простой и быстрый финт, который дает прикладной результат — это как раз то что надо (в данном случае направленный объем). Comment by measure0 — @.

measure0, блин, мне порой кажется, что вы подкалываете. Ну давайте еще и теорию меры изложим на первом курсе, заодно с рассказом об аксиоме выбора и всех ее чудесных следствиях. Формально конечно количество теорем уменьшается, когда изложение идет от общего к частному.

Но проще это нифига ничего не делает на этапе обучения. Когда уже взрослый и знаешь, что к чему, то кажется, что да — все теперь понятно, надо было сразу фигарить группы Ли. Но попробуйте это объяснить первокурснику.

Ну не получится. Он еще не может понять, что не надо придумывать геометрических образов пространств высокой размерности, а вы ему «ковектор — это n-1-мерная плоскость в n-мерном пространстве». Да у него мозги взорвутся. Из экономии бумаги совершенно никак не следует экономия времени. Опять же по такой системе возможно обучение только если у студента нет выбора кроме как учиться, потому что интереса непонятные определения не добавляют. Про приложения определителя — самое тривиальное это наличие обратного линейного преобразования. Конечно тоже абстрактно, но куда менее абстрактно чем всякие теоремы о группах.

Ну а если чуть продвинуться, то тут уже совсем экономические приложения возникают в виде замены переменных в интегралах и определении знакоопределенности квадратичной формы. Comment by — @. Мне казалось, что меру и лемму Цорна в НМУ на первом курсе и рассказывают. Миша вот курс по теории меры читал. Да я не предлагаю фигарить группы Ли на первом занятии! Все что я предлагаю это рассказывать линейную алгебру тогда, когда студент хоть немного соображает в математике.

То есть все к чему я призываю это отказаться от линейной алгебры в первом семестре и вместо нее учить что-то такое, чтобы слова «эндоморфизм», «фактормодуль» и «алгебра» в курсе линейной алгебры не вызывали ступора. Существование обратного линейного оператора очевидно без всяких определителей, т.к.

Это автоморфизм модуля. Замена координат в интеграле относится к ориентации на многообразии и, опять же, становится понятна только после рассказа об эндоморфизмах на алгебре Грассмана. Comment by measure0 — @. measure0, вы путаете понимание и максимально общее представление — это не одно и то же. Древние греки тоже не понимали что такое объем, да и не только это, однако это не мешало им придумывать очень много всякого, с этим объемом связанного. В НМУ далеко не каждый раз на первом курсе есть лемма Цорна — Миша вроде был единственным на моей памяти, кто это делал.

Но на НМУ ориентироваться я бы и не стал — оттуда уходит 90% пришедших на первое занятие, а те кто остаются как правило еще до первого занятия уже отлично знают и что такое определитель и что такое алгебра Грассмана. С другой стороны на самом деле именно в лемме Цорна я ничего плохого и не вижу на первом курсе — там-то как раз все довольно тривиально. Другое дело, что пригодится она студенту крайне не скоро и зачем на нее отвлекаться не понятно. Под обратным отображением для линейного оператора я подразумевал, что вы можете его записать простой компактной формулой, и увидеть явно из вида членов матрицы когда она существует. Да, не лучший способ идеологически, но для начинающего самое.

Теоремы о существовании без подкрепления формулой на первом курсе не прокатывают — к абстрактности надо привыкать на простом. Не с математической, а чисто с методической точки зрения. Comment by — @.

Роман, Интуиция плохо работает в случае пространств с размерностью больше трех, поэтому на мой взгляд это только запутывает. Я слабо представляю как объяснить, что такое объем четырехмерного параллелепипеда. Это из серии «оно как груша, только не груша».

Придется для этого давать явную формулу и получится, что это объем определяется через детерминант, а не наоборот. Ну и вообще я против того, чтобы использовать понятия, которые ранее не были определены. Это видимо вопрос идеологического характера, т.к.

Теории

Когда я начинал учить математику, то страдал от того, что многие авторы кидались словами «каноническое отображение» и «естественный изоморфизм» не давая строгого определения. Comment by — @. Хеллер, а я не так много на самом деле литературы нашёл по алгебре, вот по анализу много,но вся как по одному шаблону написано,решил использовать Зорича и привлекать Львовсвого иногда,а вот с алгеброй всё для меня в плане литературы оказалось сложнее. Винберг был, но в электронном виде, мне не удобно читать на экране,предпочитаю бумагу,начал литературу искать,нашёл только Кострикина,но понравился меньше Винберга, Курош не понравился совсем,всеразличные книги типа Ильин, Позняк, Ильин, Ким и тд вообще не впечатлили, печатных Ленга и Ван дер Ваардена я тоже не нашёл,сначала взял книжку Бохера,а потом вот Онищика и Зуланке выискал,сейчас учу по ней. Онищик,по-моему,ученик Винберга. В общем,я сошёлся на этой книжке, думал вот Винберга взять,когда новое издание вышло, но некоторые вещи не очень понравились как вводятся, в общем пока совмещаю её и Винберга. Очень хотелось бы ещё за геометрию сесть,но ничего хорошего, кроме как Прасолов, Тихомиров не нашёл, а учить то,что у нас в ВУЗах обычно расказывают по геометрии не очень хочется(типа тех же Ильина и Позняка),да и смысла не вижу особого.

Тоже интересна литература, в первую очередь, например где бы хорошо было написано о группах отражений и калейдоскопах. Пока ищу,хотел взять Берже,но говорят,что не очень,да и печатной я её не нашёл. Comment by печатель — @.

печатель, ну я советую ориентироваться на список который я выложил, во всяком случае то что перечислено в «Базовый уровень» — это совершенно точно must have для любого начинающего. Ну и вообще тут довольно адекватные книги насколько я могу судить (во многих вещах я совершенно не компетентен, поэтому не могу судить). По алгебре я бы еще добавил к списку Dummite, Foote «Abstract Algebra», хотя в принципе того что тут перечислено уже более чем достаточно.

Куроша, Ильина, Позняка, Ван дер Вардена вообще читать нет смысла (а Ильина с Позняком так и подавно противопоказано). Comment by measure0 — @. печатель, читать с экрана придется в любом случае, так как купить все книги, которые необходимы — просто невозможно. Опять же чаще всего сложно учиться по одной книге, правильнее по одной теме проглядывать сразу десяток источников. Не читать последовательно, а именно разбираться с конкретными темами, многое пропуская (скажем, рассказ об интегралах во втором томе Зорича лучше пропустить — куда правильнее сразу браться за интеграл Лебега). Вообще читать книги лучше вначале быстро, поверхностно и по диагонали, а потом разбираться в том, в чем уже видна необходимость.

Очень во многих книгах доказательства приводятся не самые удачные — часто можно найти что-то более простое и короткое, часто для общего развития в книгах предлагаются вообще не особо нужные, но сложные вещи — я бы на это даже не отвлекался. Только если вдруг пригодится.

Comment by — @. печатель, про группы отражений и многогранники подробно написано в 7ом томе 3ей серии Математического Просвещения. Алгебру я по Dummit, Foote — Abstract Algebra учу.

945 страниц содержат большое количество примеров и упражнений, есть уникальная инфа, которой я не встречал в других классических учебниках (например, в главе о конечных группах описана программа Гёльдера их классификации). Книга читается легко и приятно и имеет меньше недостатков, чем остальные. Ну и Atiyah, McDonald однозначно надо прочитать (читай: прорешать). Мне её Саша Ефимов посоветовал, когда я тупил на семинаре Локтева, сказал что в мои годы сам ей прорешал, и очень помогло. Геометрию по Берже и Прасолову (вроде все элементарные геометрические идеи в этих 2-х книгах изложены очень хорошо). В современной математике из программы лиценциата НМУ по геометрии используются в основном проективные пространства и неевклидова геометрия. Их надо подробно изучить, остальное — как получится.

Comment by Сергей — @. @ Андрей: Если уж для вас принципиально учиться только по одной книге, то я бы посоветовал лучше брать Винберга. Кострикин, да, покрывает большую часть материала, но изложение очень часто у него просто ужасное. Не везде, конечно, но бывает.

Винберг в этом плане на порядок проще, хотя некоторые темы наоборот лучше изложены у Кострикина (например «традиционное» определение ЖНФ без модулей и афинная геометрия до квадрик). Но это скорее исключения.

Многое в Кострикине понять крайне сложно, хотя сами понятия очень просты. Comment by — @. @ Хеллер: Спасибо за ответ в любом случае. Мне вообще вот интересно,почему рекомендацию этих книг не так часто можно услышать? Почему рекомендуют совсем другую литературу типа того же Ильина и Позняка?

Почему ту же алгебру фактически не изучают? Линейную алгебру ещё как-то изучают, а алгебраические структуры мало где, а если и изучают, то по далеко не лучшей литературе. Зачем нужен курс того же ангема,когда есть линейная алгебра,рассказывающая о том же фактически? Мне вот в МИФИ мотивировали то,что рекомендуют Фихтенгольца,а не Зорича тем,что Зорича не поймут.Ну,во-первых, Зорич, по-моему проще, а во-вторых, тем, кто не может понять Зорича, надо помочь понять, а не пичкать неплохой, но костной и устаревшей книжкой Фихтенгольца. В виду своего не очень высокого уровня могу и ошибаться,но мнение такое. Comment by measure0 — @.

@ печатель: Я думаю, что это простое следствие неграмотности большинства и лоббирование министерства. Учебники Ильина и Позняка выдают в библиотеке каждому первокурснику не спрашивая ничьего мнения на этот счет. Кстати, несколько лет назад я к своему позору сам всюду рекомендовал Ильина и Позняка, но делал это исключительно в силу собственной безмозглости, а не со зла (в то же время я сравнивал книги с прослушанными лекциями и учебниками, которые показывали мне другие студенты, и Ильин с Позняком действительно оказывались лучше хотя бы по количеству материала).

Инструкция

Аргументы о том, что Зорич слишком сложен вообще какие-то идиотские. Я еще не видел книги, которая была бы написана проще и понятнее Зорича, при том, что уровень там очень хороший в книге для базового курса. Там тебе и многообразия, и гомологии, и дифференциаяльные формы — только основы, конечно, но полезно и можно сложить адекватное представление о предмете. Потому что такими простыми словами как у него это вроде нигде больше и не излагается, насколько я знаю. Вообще про Зорича я слышал, что он какое-то время назад попал в опалу на МехМате из-за своих симпатий к НМУ, и поэтому его учебник там табуирован.

Но не могу судить насколько это правда. Что касается самой программы, то тут сказывается видимо просто инертность наших ВУЗов и не правильное представление о том, как должен проходить учебный процесс.

Например, у нас программистов на первом курсе пичкают зачем-то совершенно ненужной им механикой на сравнительно глубоком уровне — там тебе и сила Кориолиса, и равноускоренное движение, и какие-то другие вещи, которые общеобразовательными никак не назовешь, но на них приходится тратить время. Для сравнения вот как строится общеобразовательный курс механики в MIT: — все предельно просто, буквально «на пальцах», но там и про принцип Гейзенберга, и про двойные звезды, и про измерение массы в невесомости. У нас же вместо этого зубрежка формул из очень узкой области без какой-либо цели, кроме следования парадигме, что студент должен зубрить и решать сотни однотипных «задач». Так же как школьная математика — куча формул при нулевом понимании, причем рассматриваются лишь отдельно выхваченные разделы, причем подавляющее большинство людей думает, что так и надо. Ну и с учетом этого учебники Ильина и Позняка идеально вписываются в систему. Comment by 23Skidoo — @.

@ Arkkienkeli: Рекомендация выше Страуструпа явно преждевременная. Начинать следует с какой-нибудь простой книги вроде «С за 10 дней» или что-нибудь в этом духе. Сходу въехать в Страуструпа крайне сложно, да и это больше не книга по программированию на C, а такое подробное описание конструкций языка без особой практики. Посоветовать что-то конкретное не могу, так как уже не помню по чему учился сам (было это семь-восемь лет назад). Ну и про разницу в C# и C выше верно указали. Сранивать их нельзя ни в коем случае, это абсолютно разные технологии. C# проще как в плане освоения, так и в плане зарабатывания денег.

Еще преимущество: в основном сейчас все события происходят как раз в C# и около того, так занимаясь C# вы будете на переднем крае прогресса. C тоже развивается, но довольно медленно, вернее тут будет сказать «догоняет». Из преимуществ C можно выделить то что он сравнительно низкоуровневый и есть такое мнение, что освоив его и получив опыт вы будете куда более крутым программистом, чем программист не видевший ничего кроме C#/Java. Я не уверен насколько это верное мнение, но многие работодатели считают знание C большим плюсом. Ну и плюс C универсальный язык под все платформы.

C# вроде тоже заявляется кроссплатформенным, но на практике так не выходит. Я сам программирую на C потому что так получилось, вам бы лучше советовал C#, особенно если нет навыков в других языках (сам я пишу на C, но до него умел сравнительно богатый опыт в Perl). Comment by Сергей — @. Я лично начал свою разумную жизнь как раз в тот момент, когда у меня в руках оказалась книга Керниган, Ритчи «Язык программирования С». Я тогда был в 9ом классе и незадолго перед этим впервые установил дистрибутив линукс Mandrake 9.2.

Общение с линухом и чтение этой классической книги сделало из мальчика мужчину. В 10ом классе я уже портироваал драйвер сжатых файловых систем cloopfs на новую версию ядра. Так что начинать прогать надо с Си и именно по Кернигану-Ритчи. Comment by 23Skidoo — @. @ Хеллер: Видишь ли Рома, в мире пока ещё дохера кода на Си, хотя бы поэтому его знать надо. «Изучать надо современные вещи» — выучить синтаксис можно за уикенд, изучают-то вообще алгоритмы и парадигмы, а не языки. Имхо, если хочешь освоить процедурное программирование — выражай мысли на процедурном языке, хочешь научиться функционально мыслить — тренируйся на функциональных языках, то же для ООП.

А процедурное программирование надо осваивать первым (и лучше на Си), или ты не согласен? Comment by Сергей — @. Позволите вернуться к математике? Хеллер: Мне,откровенно говоря,кажется, что дело не в министерстве,а в самих преподавателях ВУЗов.

Они сами так учились,теперь сами так преподают, не считая нужным корректировать курс на более современный и посмотреть другие,более адекватные, книжки. При этом студенты сдают,получают свои отлы, но реально не знают математики. Есть проблема и в самих студентах, они сдают то, что им дают и не желают посмотреть другую литературу, ознакомиться дальше. Что касается физики,то, как я понимаю, учился ты в МИФИ, а там это ВУЗовский компонент, её учат все. Кстати,программа МИФИ по математике просто ужасна, на мой взгляд. Comment by печатель — @. @ Сергей: То что в мире до хера кода на Си еще не значит, что его надо изучать, если только у вас нет желания копаться в окаменевшем дерьме мамонтов.

Так же как сейчас нет смысла изучать Perl5 (в независимости от того, какие любовные чувства я к этому языку имею), хотя кода на нем тоже не мало. Я согласен, что изучать надо не языки программирования, а парадигмы, но это не относится к процедурной парадигме. Чего там изучать?

If, while и вызов функции? Изучать там нечего, само придет в фоновом режиме при изучении ООП. Поэтому специально заниматься языком Си для этого бессмысленно. В крайнем случае если уж хочется чистой процедурщины — можно посмотреть в сторону QBASIC в течении нескольких дней. Читать для этого Кернигана-Ричи (а это 300 страниц — несколько больше чем неделя чтения, если читать вдумчиво) навязывая себе устаревшие шаблоны — просто глупо. Опять же программирование — это не только синтаксис и парадигма. Это еще как минимум использование библиотек, набор стандартных трюков, экспириенс и тонкости, специфичные для языка.

Например, я ненавижу Сишников, которые перелезая на C испытывают животную фобию тайпдевоф и не понимают почему нельзя использовать void. и приведения типов в Си-стиле.

Я уж не говорю об адекватном использовании. Так что мой совет — посмотреть что нужнее в ближайшей перспективе (для работы/ВУЗа), в какой области есть желание работать (если писать дрова для никсов, то лучше C, если лол-приложения для Win7 — то C#), и изучать в соответствии с этим. Ну а если просто для общего развития — лучше C, если уже есть какой-то опыт в других языках.

Если нет — C#. Comment by yas — @. а это 300 страниц – несколько больше чем неделя чтения, если читать вдумчиво Для сравнения — чтобы начать нормально разбираться в C, нужно прочитать Страуструпа (1000 страниц), три книги Мейерса (каждая по 250 страниц), четыре книги Саттера (каждая по 250 страниц), Vandevoorde (550 страниц), желательно ещё Александреску (350 страниц) и Абрахамса/Гуртового (400 страниц), плюс ознакомиться с Boost (есть книга на 400 страниц, но там не всё). И этого всё равно не будет достаточно, желательно ещё ознакомиться со стандартом. А ещё грядёт C0x с ужасами вроде rvalue references.

Для Си достаточно Кернигана и Ричи плюс опционально ван дер Линдена. Уметь читать стандарт не так важно. Вообще же, если бы я сейчас начинал учиться программировать, я бы начал с Питона. Comment by 23Skidoo — @. 23Skidoo, привести десяток известных книг и сказать, что без них нельзя нормально программировать можно в отношении любого языка. Совершенно не аргумент.

Я вот считаю, что именно потому что «для Си достаточно одной книги» программисты на Си зачастую пишут совершенно невменяемый код. Он конечно работает, и может быть даже и выигрывает на 5% по быстродействию, но я в гробу видал отладку этого монстра и сопровождение — спасибо, нагляделся. К тому же рекомендация изучать Си совершенно безответственна в финансовом плане. Вы предложите еще LISP изучать (который в отличие от Си великолепен, но тоже не заработаешь). А Python есть смысл изучать, да.

Единственное что, на нем заработать труднее, ну и функциональное программирование пока еще не то чтобы шагает по планете, в первую очередь я бы озаботился все же ООП. Comment by — @. А я нагляделся на персонажей, которые приходят на собеседование и не могут написать функцию поиска максимального значения в бинарном дереве. Речь шла об обучении.основам программирования.

Это в первую очередь алгоритмы и структуры данных, изучать их на Си проще просто из-за того, что не надо отвлекаться на нерелевантные языковые конструкции. C/C#/Java можно по желанию освоить потом, и сделать это, уже умея программировать, будет гораздо легче. Ещё желательно ознакомиться с ассемблером, чтобы понимать как работает машина. В западных ВУЗах примерно так и учат — вводный курс программирования на простом языке вроде Питона, курс системного программирования, курс компьютерной архитектуры, курс функционального программирования. Лисп/Пролог/Haskell, но факультативно, из-за profound enlightenment experience. привести десяток известных книг и сказать, что без них нельзя нормально программировать можно в отношении любого языка. Это, я ещё подсократил.

C объективно очень сложен. Comment by 23Skidoo — @. 23Skidoo, вот и давайте тогда определимся: мы говорим об основах программирования, или о том, что надо быть крутым экспертом.

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

Там одной только теории не одна монография посвящена. Ну и не надо сказок про сложности C. Я вообще-то программирую на С, при этом с другими языками тоже знаком (главным образом LISP и Perl). Си банально не обладает теми возможностями по организации больших проектов, которые необходимы в крупном продукте.

Этого достаточно, чтобы им не пользоваться, если кода больше, чем 50000 строк. Как учатся в западных ВУЗах для меня совершенно не показатель. В западных ВУЗах еще Women and Gender Studies учат тоже, и что с того? Comment by — @. А то как Си, так можно быстро изучить основы а как C, так десять книг обязательно читать.

Я сравнил объём литературы, который необходимо освоить для достижения сравнимого уровня экспертизы в C и С. Это был аргумент в поддержку утверждения о большей сложности C по сравнению с C.

Неумение нейти максимум в бинарном дереве проистекает от полного незнания алгоритов, а не от того, что человек пишет на C. Скорее от того, что кроме книжки «C за 21 день» человек ни с чем не ознакомился. А вот раннее представление об объектах крайне важно Ценность «объектов» и «паттернов» преувеличена. Вначале они ничего не дают, кроме лишнего концептуального багажа. Важно представлять себе, как железо работает, знать основные алгоритмы и структуры данных. В крупных проектах объекты могут быть как полезны, так и — к сожалению, голову на плечах «раннее представление об объектах» не заменит.

Прописи-шаблон по математике для 1 класса. Вставь знак «плюс» или «минус». • Сложение чисел от 1 до 10 —,, • Вычитание чисел от 1 до 10 —,, • Вставь пропущенное число —, • Примеры в два действия — • • Числовой луч. • Число 0 (ноль) —, • Сложение и вычитание 1,, • Сложение и вычитание 2,, • Сложение и вычитание 3,, • Сложение и вычитание 4,, • Сложение и вычитание чисел от 1 до 5.

Си банально не обладает теми возможностями по организации больших проектов, которые необходимы в крупном продукте. Эти вещи полезны, но не необходимы — чему свидетельством большое число крупных проектов на Си или сильно ограниченном подмножестве C. Кроме того, в C существенно проще наломать дров, и из-за этого во многих крупных проектах многие фичи (обычно исключения и RTTI). Кроме того, в C тоже нет некоторых полезных вещей. Например, нормальной системы модулей.

Лучший Учебник По Теории Графов

При видимой простоте, он таки наполовину функциональный Он никаким боком не функциональный. Анонимные функции и функции высшего порядка есть и в C0x. Питон изначально создавался как язык для обучения программированию и в этом качестве используется, например,. Кстати, объекты в этом курсе проходят.

Хороший Учебник По Теории Графов

Как учатся в западных ВУЗах для меня совершенно не показатель. Это я даже не буду комментировать. Comment by 23Skidoo — @. В крупных проектах объекты могут быть как полезны, так и вредны (Lie #2) Code should be designed around a model of the world There is no value in code being some kind of model or map of an imaginary world. I don’t know why this one is so compelling for some programmers, but it is extremely popular. If there’s a rocket in the game, rest assured that there is a «Rocket» class (Assuming the code is C) which contains data for exactly one rocket and does rockety stuff. With no regard at all for what data tranformation is really being done, or for the layout of the data.

Or for that matter, without the basic understanding that where there’s one thing, there’s probably more than one. Though there are a lot of performance penalties for this kind of design, the most significant one is that it doesn’t scale. One hundred rockets costs one hundred times as much as one rocket. And it’s extremely likely it costs even more than that! Even to a non-programmer, that shouldn’t make any sense. Economy of scale.

Учебник По Теории Графов

If you have more of something, it should get cheaper, not more expensive. And the way to do that is to design the data properly and group things by similar transformations. Comment by 23Skidoo — @. @ 23Skidoo: Вы написали очень много, но не сказали ничего нового. «Критики» C в подобном стиле я слышал очень много: она всегда сводится к тому, что «C сложный, и если прочитать одну только книгу, то об алгоритмах не будешь знать». Мне что-то подсказывает, что если прочитать только одну книгу Кернигана-Ричи, то с деревьями работать тоже не научишься.

Все остальное — это ретроградство, либо передергивание в виде указания на плохие решения языка с умным видом. Но дело в том, что эти плохие решения использовать никто и не заставляет вообще-то. Ну либо стремление соптимизировать все по максимуму, что в 90% проектов не нужно (и с такими оптимизаторами кода я тоже сталкивался — зрелище тоже не из приятных). Короче не интересно.