سلسله‌مراتب داده
سلسله مراتب داده به سازماندهی منظم داده‌ها، معمولاً در قالب سلسله مراتبی اشاره دارد. سازماندهی داده شامل خاصیت‌ها، زمینه (فیلد)ها، سوابق (رکوردها)، پرونده (فایل)ها و غیره می‌باشد. این مفهوم نقطه شروعی است برای فهمیدن آنچه که داده‌ها را تشکیل می‌دهد و اینکه آیا داده‌ها دارای یک ساختار هستند یا خیر. به عنوان مثال، شخصی چگونه اطلاعاتی مانند «کارمند»، «نام»، «بخش»، «مارسی اسمیت»، «بخش فروش» و غیره را درک می‌کند با فرض اینکه همه آنها مرتبط هستند؟ یک راه برای درک آنها این است که این الفاظ را به عنوان اجزای کوچکتر یا بزرگتر در یک سلسله مراتب ببینید. ممکن است بگوییم مارسی اسمیت یکی از کارکنان بخش فروش است یا نمونه ای از یک کارمند در آن بخش. اطلاعاتی که ما می‌خواهیم دربارهٔ همه کارکنان مان، و نه تنها مارسی، ضبط کنیم، نام، شناسه، آدرس و غیره است.
بهینه‌سازی برنامه
با در نظر گرفتن یک طرح کلی، انتخاب خوبی از الگوریتم‌های کارآمد و ساختار داده‌ها و اجرای کارآمد این الگوریتم‌ها و ساختارهای داده‌ها، در ادامه آمده‌است. پس از طراحی، انتخاب الگوریتم‌ها و ساختارهای داده بر کارایی بیش از هر جنبه دیگر برنامه تأثیر می‌گذارد. به‌طور کلی، ساختار داده‌ها بیشتر از الگوریتم‌ها تغییر می‌کند، زیرا فرضیه ساختار داده‌ها و فرضیه‌های عملکرد آن در طول برنامه استفاده می‌شود، هرچند این می‌تواند با استفاده از انواع داده‌های انتزاعی در تعاریف تابع به حداقل برسد و تعاریف ساختار داده‌ها محدود شود به چند مکان