How does InnoDB store tables in ibdata file?
InnoDB Architecture

Percona created this picture a long time ago. As you can see, ibdata1 contains many classes of data structures. There are as follows:

Table Data Pages (if innodb_file_per_table disabled)
Table Index Pages (if innodb_file_per_table disabled)
Data Dictionary (Tablespace IDs, Logical-to-Physical Mapping to Tables)
Double Write Buffer (Handles Data Redundancy to Support Crash Recovery)
Insert Buffer (Handles Updates to Secondary Indexes)
Rollback Segments (Manages Reverse Engineering of Uncommitted Transactions)
Undo Space (Containers of Information for Rollback Operations)

BTREEs in InnoDB
If you are concerned how indexes are stored, please read my earlier posts about InnoDB indexes

Apr 04, 2012 : How does innodb_stats_on_metadata relate to query execution plan stability?
Jun 28, 2012 : Benefits of BTREE in MySQL
Oct 26, 2012 : How badly does innodb fragment in the face of somewhat out-of-order insertions?
Jan 09, 2013 : Is ANALYZE useful immediately after creating an InnoDB index?
Mar 27, 2013 : Are there implicit indexes in InnoDB like MyISAM?
Jun 14, 2013 : Does the size of the primary key contribute to table size?