Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2015, 19:39   #11
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Алгоритмы и Структуры Данных к C# не привязаны, они ко всем ЯП применимы. Обычно книги/курсы по ним именно так и называются.
Пролопатил книги, которые у меня есть по этой тематике. Все они какие-то чрезмерно жестокие:





Ничего не понятно вообще...

Буду смотреть видео курс видимо от itvdn. Там думаю, всё будет понятно.
Alex11223, что посоветуете по "приземлённее" по данной тематике почитать?


Кстати, в тот моменте, что я вчера показывал я касательно типизации всё понял. Но там остался недопонятый вопрос.
Вот в общем-то, прикрепляю проект, который только раздобыл. Касательно прикреплённого проекта вот этот кусок кода интересен:
Код:
using System;
using System.Collections.Generic;

namespace Labirint
{
    class Room : MapSite
    {       
        int roomNumber = 0;        
        Dictionary<Direction, MapSite> sides;  
                
        public Room(int roomNo)
        {
            this.roomNumber = roomNo;
            sides = new Dictionary<Direction, MapSite>(4); 
        }
                
        public override void Enter()
        {
            Console.WriteLine("Room");
        }

        public MapSite GetSide(Direction direction)
        {
            return sides[direction];
        }

        public void SetSide(Direction direction, MapSite mapSide)
        {
            this.sides.Add(direction, mapSide);
        }
                
        public int RoomNumber
        {
            get { return roomNumber; }
            set { roomNumber = value; }
        }
    }
}
Здесь имеется строка:
Код:
sides = new Dictionary<Direction, MapSite>(4);
что за (4) после инициализированного generic'a ? Что-то я не вкурил в эту 4 совсем.
Вложения
Тип файла: zip 000_Maze.zip (75.3 Кб, 5 просмотров)
hoz вне форума Ответить с цитированием
Старый 14.12.2015, 20:19   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx
кол-во элементов.


Про книги что из простого посоветовать не особо знаю (вообще на этих скриншотах не особо увидел чего-то что может быть непонятным, только на первом контекст не понятен).
Про курсы, если на англ, то на Coursera (или рутрекере) есть вроде не особо сложный курс от R. Sedgwick (еще есть от кого-то другого, там больше доказательств и математики).
Если на русском, то например на Hexlet два неплохих курса по Структурам данных и Алгоритмам (только он платный 9$ в месяц, ну и 3 первых урока всех курсов бесплатные) или на stepic (не в курсе что там, просто часто слышал рекомендации).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.12.2015 в 21:02.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2015, 22:56   #13
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Alex11223, я начел штудировать структуры данных, но там по сути оторванные от жизни вещи. Ведь это не научить думать абстрагированно и работать с тем же интерфейсами и делегатами, не научит грамотно выбирать, где разместить соответствующие классы и как всё это связать. А в плане общего понимания, так оно у меня и так есть. Я на Си-подобных языках пишу, и классы использую, и структуры, и input-переменные. И библиотеки. Но я писал другие вещи.
А программы, в плане работы с БД и вообще оконные не писал. Вот в чём суть. Потому и принялся за Паттерны проектирования. Но вещи там, конечно, "весёлвые".
hoz вне форума Ответить с цитированием
Старый 16.12.2015, 00:08   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Почему не научит?
Если знать в чем особенности разных структур данных, то можно правильно их выбирать для задачи.

Например, если есть большой список чего-то (ID, телефонов, ...) и надо периодически проверять есть ли в списке какие-то значения, то HashSet будет намного эффективнее List или массива потому что поиск в нем O(конст.) вместо O(n).
Ну и для словаря аналогично (для случаев когда нужны не просто ID, а еще и какие-то данные с ним связанные).

Если что под структурами данных я имею в виду массивы, связные списки (linked list), стеки/очереди (queue), множества (set), хэш таблицы, графы, деревья и т.п., а не запись для объединения нескольких переменных типа struct Person { string name; int age; }
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 16.12.2015 в 11:40.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кавычки hunter03 PHP 1 29.04.2012 10:26
кавычки Alkatras БД в Delphi 1 23.09.2010 16:19
кавычки ts-alan Общие вопросы C/C++ 4 02.08.2010 22:29
кавычки Артэс Общие вопросы C/C++ 1 15.02.2009 04:04
Кавычки JRcoker Свободное общение 3 08.10.2008 13:19