در اصطلاح کامپیوتری، به روش های ذخیره ی اطلاعات و استفاده ی بهینه از آن ها ساختمان داده ها گفته می شود. به کمک ساختمان داده می توان برنامه هایی تولید کرد که موجب افزایش سرعت انجام یک وظیفه و کاهش مصرف حافظه برای پردازش داده می شوند. مبنای ساختمان های داده انواع ساختارداده و اشاره گرهای گوناگون می باشد که با توجه به چگونگی تعریف شدن در برنامه، کاربرد آن ها در هر زبان برنامه نویسی متفاوت خواهد بود. انواع ساختمان داده ها:
1) یکی از مهم ترین و پرکاربردترین ساختمان های داده، رشته های کاراکتری می باشند. رشته در واقع یک زنجیره از بایت ها بوده که در کار با ورودی ها، خروجی ها و ارتباطات گوناگون نقش مهمی ایفا می کند.
2) یکی دیگر از ساختمان دادهای مهم، لیست ها (آرایه ها) هستند. در واقع این نوع داده یک نوع پیشرفته از آرایه های زبان های سطح پایین است که علاوه بر خاصیت اندیس پذیری، خاصیت تغییر اندازه و نگهداری انواع داده را به طور هم زمان دارا می باشد.
3) نوعی دیگر چند تایی های مرتب (Tuple) است که در نوعی از ساختارداده دارای شباهت هایی با لیست می باشد.
از دیگر انواع ساختمان داده ها می توان به موارد زیر اشاره کرد:
1) لیست های پیوندی
2) صف ها
- الف) صف های دو طرفه
- ب) صفهای با اولویت
3) درختها
- الف) دودویی
- ب) دودویی جستجو