Loading...
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Data structures и Algorithm - въпрос към Жоро.

Здрасти, Жоро!

Записах се за курса по алгоритми през лятото , а сега гледам Data structures. Въпросът е може ли да се "вземат" посредством C++ или трябва да се боря със C#. Питам, защото на мен C++ ми е по-полезен за embedded .

Поздрави !

Тагове:
0
C++ Programming
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки
Best Answer

Здравей,

Честно казано си нямам идея :D Не участвам в този курс по никакъв начин и не знам какви са им критериите. Някъде бях прочел от Наков, че примерите ще са на C#, но на изпита ще е разрешено да пишеш на всякакви езици (т.е. Judge ще приема решения на различни езици) - но не знам дали става дума за същия курс.

Ако питаш от гледна точка на възможности на езика - да, стандартните структури от данни и алгоритми са имплементирани в C++ - vectors, deque, stack, queue, priority_queue (max-heap), maps & sets (binary search tree), linked lists, unordered_... (hash tables), алгоритми за сортиране, двоично търсене и подобни (даже multimap, multiset, unordered_multimap, unordered_multiset ги няма вградени в C#, а в C++ ги има). Оттам нататък всичко, което го няма, със сигурност може да бъде написано по разумен начин на C++, и почти със сигурност ще работи 20-30% по-бързо от еквивалентна имплементация на C#.

Трябва обаче да те предупредя, че ако го вземеш на C++ този курс ще имаш повече главоболия със самия език (rule of three ако се наложи да се пишат някакви структури, достъп до паметта чрез pointers и грешни адреси, etc.). Не казвам, че това ще ти пречи много, но със C# ще можеш да се фокусираш върху алгоритмите и структурите данни концептуално, вместо да мислиш как точно да напишеш кода, че да работи.

Просто на C# се пише доста по-лесно, дори да не си го писал никога - 60% от познанията ми по C# идват от първата среща на Telerik School Academy (бях в 11 клас), която продължи 2 дни, а дотогава знаех само C++ и то на по-слабо ниво от това, което ви преподавах в този C++ курс. С две думи няма да ти е много трудно да минеш на C# като за този курс - после винаги можеш да си "преведеш" нещата на C++ - те все пак ще ви учат на computer science гледната точка, не на техническата гледна точка. Тоест в по-голямата част от курса би следвало да ви рисуват и описват стъпки/структури, а писането на самия код би следвало да е сравнително малко.

Поздрави,

Жоро

0
05/06/2017 21:29:28
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Благодаря много Жоро !

Днес точно гледах лекцията ти от 2015 - Data structures, с ония удавници :))) Ама ти си рисувал много авангардно ! Определено живопистта е загубила ярък талант !

0
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Хаха, това за linked list-а ли беше? Излязоха ми някакви бегли спомени за нещо такова сега като писа, ама не си спомням детайли :D

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.