diff --git a/20241211/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/c1861e0a-6632-42f2-8c1d-82f661b2bf3c.vsidx b/20241211/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/c1861e0a-6632-42f2-8c1d-82f661b2bf3c.vsidx new file mode 100644 index 0000000..c11410e Binary files /dev/null and b/20241211/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/c1861e0a-6632-42f2-8c1d-82f661b2bf3c.vsidx differ diff --git a/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/.suo b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/.suo new file mode 100644 index 0000000..22c7467 Binary files /dev/null and b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/.suo differ diff --git a/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..f724727 --- /dev/null +++ b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json @@ -0,0 +1,37 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{739D9B3E-908C-4CF7-AC6C-935E32BD80A9}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\progaora\\20241211\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{739D9B3E-908C-4CF7-AC6C-935E32BD80A9}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAvAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-11T10:49:21.599Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json new file mode 100644 index 0000000..1abc3aa --- /dev/null +++ b/20241211/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json @@ -0,0 +1,37 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{739D9B3E-908C-4CF7-AC6C-935E32BD80A9}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\progaora\\20241211\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{739D9B3E-908C-4CF7-AC6C-935E32BD80A9}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\ProgaOra\\20241211\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-11T10:49:21.599Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20241211/ConsoleApp1/ConsoleApp1.sln b/20241211/ConsoleApp1/ConsoleApp1.sln new file mode 100644 index 0000000..3b01eb3 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{739D9B3E-908C-4CF7-AC6C-935E32BD80A9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {739D9B3E-908C-4CF7-AC6C-935E32BD80A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {739D9B3E-908C-4CF7-AC6C-935E32BD80A9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {739D9B3E-908C-4CF7-AC6C-935E32BD80A9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {739D9B3E-908C-4CF7-AC6C-935E32BD80A9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6C7614B5-D7F7-4F6B-BF0D-F5963FC333F2} + EndGlobalSection +EndGlobal diff --git a/20241211/ConsoleApp1/ConsoleApp1/App.config b/20241211/ConsoleApp1/ConsoleApp1/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/20241211/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj b/20241211/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj new file mode 100644 index 0000000..23f8968 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {739D9B3E-908C-4CF7-AC6C-935E32BD80A9} + Exe + ConsoleApp1 + ConsoleApp1 + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/20241211/ConsoleApp1/ConsoleApp1/Program.cs b/20241211/ConsoleApp1/ConsoleApp1/Program.cs new file mode 100644 index 0000000..40d5f02 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/Program.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + internal class Program + { + static void Main(string[] args) + { + Dictionary ageMap = new Dictionary(); + ageMap.Add("Alice", 25); + Console.WriteLine(ageMap["Alice"]); + } + } +} diff --git a/20241211/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs b/20241211/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7278ecd --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ConsoleApp1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApp1")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("739d9b3e-908c-4cf7-ac6c-935e32bd80a9")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe new file mode 100644 index 0000000..91d41c0 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe differ diff --git a/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe.config b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb new file mode 100644 index 0000000..ee37c08 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb differ diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache new file mode 100644 index 0000000..126ed02 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache differ diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..0be8d26 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +137ddb1975586287657f37337b64d051167bb6a147915d9fb5b8eb94b1093509 diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..813ce63 --- /dev/null +++ b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt @@ -0,0 +1,7 @@ +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe.config +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.pdb +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.csproj.AssemblyReference.cache +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.csproj.CoreCompileInputs.cache +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.exe +C:\Users\szabomarton\Desktop\ProgaOra\20241211\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe new file mode 100644 index 0000000..91d41c0 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe differ diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.pdb b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.pdb new file mode 100644 index 0000000..ee37c08 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.pdb differ diff --git a/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..5ed2c27 Binary files /dev/null and b/20241211/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/20241211/S1E7 - Adatszerkezetek I (Tömb, Lista, Hashset, Dictionary).mp4 b/20241211/S1E7 - Adatszerkezetek I (Tömb, Lista, Hashset, Dictionary).mp4 new file mode 100644 index 0000000..7454cd2 Binary files /dev/null and b/20241211/S1E7 - Adatszerkezetek I (Tömb, Lista, Hashset, Dictionary).mp4 differ diff --git a/adatstrukturak b/adatstrukturak index 61d9029..c632281 100644 --- a/adatstrukturak +++ b/adatstrukturak @@ -278,4 +278,61 @@ Dictionary Bool ContainsValue(TValue) bool Remove(Tkey) // ha sikeres a művelet akkor true int Count() - void Clear() szótár ürítése \ No newline at end of file + void Clear() szótár ürítése + + Elemek összehasonlítása + Sok esetben lehet szükségünk az elemek sorba rendezésére, + ehhez a Syste.Collections.Generic.IComparer + interfész megvalósító osztályra van szükségünk. + A T azon adattípus, amelyen majd összehasonlítást végzünk. + + Ennek fő metódusai + int Compare (T x, T y): + összehasonlít két azonos típusú elemet, visszatérési értéke: + negatív ha x kisebb mint y + nulla, ha x egyenlő y + pozitív ha x nagyobb mint y + +Hashmaps alapjai + A Hashmaps hatékony megoldást kínál az adatok hatékony tárolására ás visszakeresésére. + A C# ban a HashMaps-t a Dictionary osztály képviseli, + amely alapvető eszközként szolgál a kulcs értél párok kezeléséhez. + Lényegében a HashMap kulcs-érték asszociációk gyűjteményeként működik, + lehetővé téve azb egyedi kulcsokon alapuló értékekhez valóü gyors hozzáférést. + + A Hashmaps azon elven működik, hogy egyedi kulcsokat rendel hozzá a megfelelő értékekhez. + Ezek a kulcsok a társított értékek azonosítóként működnek, gyors hozzáférést biztosítva az adatokhoz + anélkül, hogy a teljes gyűjteményt végig kellene ismételni. + + A C# nyelvben a HashMaps a Dictionary + osztály használatával példányosodik, amely a Tkey a kulcsok típusát, + a TValue pedig az értékek típusát jelöli. + + Dictionary ageMap = new Dictionary(); + + HashMap műveletek + Elemek hozzáadása és visszakeresésére + A HashMap-hez elemek hozzáadása magában foglalja az Add() metódust, + amely értéket rendel egy adott kulcshoz. + + Az értékek lekérése a HashMap-ról úgy érhető el, hogy az értéket a megfelelő kulcsokkal érik el. + int ageOfAlice = ageMap["Alice"]; + + Létezés ellenőrzése + .ContainsKey(TKey) + + Elemek eltávolítása + .Remove(TKey) + + Iterálás a HashMap-bemenet + használj foreach ciklust + minden elem kulcs érték párt add vissza + + HashMap teljesítménye + A HashMap CSharpban kiváló teljesítményjellemzőket kínál a visszakeresési beillesztési és törlési műveletekhez. + Az alapul szolgáló megvalósítás hash kódokat használ az elemek hatékony lokalizálására és kezelésére, ami állandó idejű O1 + bonyulultságot eredményet a legtöbb műveletnél. + + Fontos azonban megjegyezni, hogy a tényleges teljesítmény olyan tényezőktől függően változhat, mint az elemek száma, a hash kód ütközései és a terhalési tényező. + +