title: Why are "Algorithms" and "Data Structures" treated as separate disciplines?
body: <p><a href="https://stackoverflow.com/questions/2441697/how-beneficial-is-this-subject-combination-for-an-undergrad-cs-student">This</a> question was the last straw; and I've been wondering for a long time about it, </p>
  
  <p>Why do people think about "Algorithms" and "Data structures" as about something that can be separated from each other?</p>
  
  <p>I see a lot of evidence that they're separated in programmers' minds.</p>
  
  <ul>
  <li>they <a href="https://stackoverflow.com/questions/455627/head-first-style-data-structures-algorithms-book">request</a> "Data Structures &amp; Algorithms" books</li>
  <li>they refer to "Data Structures" and "Algorithms" as separate university courses</li>
  <li>they "know Algorithms", but are "weak in Data Structures" (can't find the link, sorry).</li>
  <li>etc.</li>
  </ul>
  
  <p>In my opinion "Data Structures" <em>are</em> algorithms, since the concept of "Data Structure" is about <em>Algorithms</em> to operate data that go in and out of the structures.  But the opinion seems not a mainstream.  What do I miss?</p>
  
  <p><strong>Edit</strong>: unfortunately, I did not formulate the question well.  A separation of data structures and algorithms in <em>programs people write</em> is natural, since, well, the former is data, and the latter is functions (and in semi-functional frameworks like STL it's the core of the whole thing).</p>
  
  <p>But the points above, and the question itself, refers to <em>the way people think</em>, to the <em>way they arrange the knowledge</em> in their heads.  This doesn't have to even <em>relate</em> to the code writing.</p>
  
  <hr>
  
  <p>Here are some links where people separate "algorithms" and "data structures" when they're the same thing:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/2642710/revisions-algorithm-and-data-structure">Revisions: algorithm and data structure</a></li>
  </ul>