Вопрос как вообще обозначать графы? Я делал это через один список узлов с числовыми значениями, два для рёбер, в одном есть входные, в другом соответсвенно по индексу выходные.
Т.е.:
[4, 7, 8, 1, 0] - список узлов, первые две корневые вершины графа(ну может быть и больше или меньше), третий выход
[0, 3, 4]-рёбра(список индексов узлов). Вход
[4, 2, 3]-рёбра(список индексов узлов). Выход.
Просто по-моему оказалось, что их обозначают по другому
Василий Банников, я ошибся и под полиморфизмом подразумевал другое понятие - множественное наследование. Сергей Горностаев, про computer science понял!
Василий Банников, Полиморфизма в C# нет, в therac 25 ошибки были не из-за полиморфизма, goto или доступа к переменным, там явно была просто плохо написана ОС(деление на ноль, переполнение 8-битной переменной). Ну, если goto нет и ты не в php, то без try/catch из сотни вложенных циклов не выйдешь
Сергей Горностаев, Я считаю, что идеи запрещать что-либо на уровне языка бессмысленны. Они приводят к сомнительным и спорным запретам на полиморфизм, прямое изменение переменных и даже goto, вынуждая использовать try/catch, нагружать одинаковыми функциями классы и прописывать сеттеры. Программисты разумные люди и стараются всё-таки не допускать алмазов смерти, перехода в строки до инициализации, но при этом сейчас приходится придумывать антипаттерны, которые могут даже работать медленнее