当前位置:网站首页>Data dictionary in C #
Data dictionary in C #
2022-07-06 10:58:00 【Dotnet cross platform】

Preface
Surfing the Internet as usual this morning , I saw an interview question chatting in the wechat group of maijiage , It's interesting , Here is a brief share of the conclusions Dictionary Dictionaries .
Yes 50w individual int Type of number , Now we need to judge whether there are duplicate numbers , Please briefly explain .
If this topic let me do , The first feeling may be directed to two for loop , Simply make a judgment and solve . But I saw the discussion of several big guys , I found that my knowledge is shallow .
Is this question about the application of business code cycle ? Definitely not .
We know , In verifying a piece of code or a program algorithm, the perfect indicators are space complexity and time complexity . Judge by these two indicators .
Spatial complexity :
It refers to the execution of an algorithm program , How much storage capacity is temporarily occupied per unit time . use S(n)=O(f(n)) To express .
Time complexity :
It refers to the execution of an algorithm program , How much time will it take .
In general , The number of times the basic operations are repeated in the algorithm is the scale of the problem n A function of , use T(n) Express , If there is an auxiliary function f(n), Properly n Approaching infinity ,T(n)/f(n) The limit value of is a constant not equal to zero , said f(n) yes T(n) Functions of the same order of magnitude of , Write it down as T(n)=O(f(n)), be called O(f(n)) Time complexity of the algorithm .
For example, the time complexity of insertion sorting is O(n^2), The space complexity is O(1).
The advantages and disadvantages of an algorithm are mainly measured from two aspects: the execution time of the algorithm and the required storage space .
During the discussion in the Group , There is an array array, Key value pair , And data dictionary Dictionary( A key value pair ). Finally, I feel like using Dictionary Store this 50w individual int Data of type , Use it key perhaps value To determine if there are duplicate values .
Now that I see this , Today we will simply review Dictionary, See what charm it has .
Dictionary<TKey,TValue> Dictionaries
according to MSDN Records on , Say it is a set of keys and values . Provide a set of keys to a set of values mapping . Each addition to the dictionary contains a value and its associated key . The speed of retrieving values using its keys very fast , near O(1).
Dictionary<TKey,TValue> This class is implemented as a hash table , The speed of retrieval depends on the quality of the hash algorithm for the specified type TKey.
Other features are briefly summarized as follows
Must contain a namespace System.Collection.Generic
Dictionary Every element in it is a key value pair
The key must be unique , The value does not need to be unique
Keys and values can be of any type
The time complexity of reading a value through a key is close to O(1), Search speed is very fast , than list Wait a lot faster
The partial order between key value pairs can not be defined
You can search by key value 、 Insert 、 Delete a key value pair , It is very troublesome to implement these with arrays

Here is about Dictionary Some of CRUD operation .
Definition dictionary 、 Add key value 、 Value 、 Change value 、 Traverse key、 Traverse value、 Remove elements 、 Empty all elements
// Definition
static Dictionary<int, string> ahuiInfo = new Dictionary<int, string>();
static void Main(string[] args)
{
// Add key value
ahuiInfo.Add(1," A Hui ");
ahuiInfo.Add(2, " Arabinase ");
ahuiInfo[2] = " Al I "
// Value
var name=ahuiInfo[0].ToString();
Console.WriteLine(""+name
// Modified value
ahuiInfo[0] = " aunt ";
Console.WriteLine("" + ahuiInfo[0].ToString()
// Traverse key and value
foreach (var key in ahuiInfo.Keys)
{
Console.WriteLine(""+key.ToString());
foreach (var value in ahuiInfo.Values)
{
Console.WriteLine(" "+value.ToString());
// Ergodic dictionary
foreach(KeyValuePair<int ,string> kvp in ahuiInfo)
{
Console.WriteLine("key="+kvp.Key+",value="+kvp.Value);
// Remove elements
ahuiInfo.Remove(0
// Judge whether the key exists
if (ahuiInfo.ContainsKey(0))
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}remarks
Life is short , I don't want to pursue what I can't see , I just want to catch what I can see .
Originality is not easy. , Pay attention .
I am a A Hui , Thank you for reading , If it helps you , Please like it 、 forward thank you .

边栏推荐
- IDEA 导入导出 settings 设置文件
- [BMZCTF-pwn] 11-pwn111111
- Pytorch RNN actual combat case_ MNIST handwriting font recognition
- Moteur de stockage mysql23
- MySQL23-存储引擎
- Installation and use of MySQL under MySQL 19 Linux
- Navicat 導出錶生成PDM文件
- API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
- MySQL20-MySQL的数据目录
- [Li Kou 387] the first unique character in the string
猜你喜欢

C language advanced pointer Full Version (array pointer, pointer array discrimination, function pointer)

Mysql23 storage engine

Mysql27 index optimization and query optimization

MySQL28-数据库的设计规范

35 is not a stumbling block in the career of programmers

CSDN博文摘要(一) —— 一个简单的初版实现
![[Li Kou 387] the first unique character in the string](/img/2d/f2c99549cac86c08efbfbd8ba76427.jpg)
[Li Kou 387] the first unique character in the string

MySQL27-索引優化與查詢優化

Navicat 导出表生成PDM文件

Mysql25 index creation and design principles
随机推荐
MySQL22-逻辑架构
MySQL18-MySQL8其它新特性
[Thesis Writing] how to write function description of jsp online examination system
Copy constructor template and copy assignment operator template
Valentine's Day is coming, are you still worried about eating dog food? Teach you to make a confession wall hand in hand. Express your love to the person you want
API learning of OpenGL (2005) gl_ MAX_ TEXTURE_ UNITS GL_ MAX_ TEXTURE_ IMAGE_ UNITS_ ARB
C language advanced pointer Full Version (array pointer, pointer array discrimination, function pointer)
[paper reading notes] - cryptographic analysis of short RSA secret exponents
windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止
Solution: log4j:warn please initialize the log4j system properly
SSM integrated notes easy to understand version
Timestamp with implicit default value is deprecated error in MySQL 5.6
Mysql35 master slave replication
[recommended by bloggers] C # generate a good-looking QR code (with source code)
Ansible practical Series III_ Task common commands
Why is MySQL still slow to query when indexing is used?
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
Breadth first search rotten orange
MySQL 20 MySQL data directory
SSM整合笔记通俗易懂版