custom post type tag lists and link to post

Try this:

global $post;
$tmp_post = $post;

//First get the list of terms

$terms = get_terms("post_tag");

//then loop over the list and get the posts of each term
echo "<ul>";
foreach ( $terms as $term ) {
    $args = array('posts_per_page' => -1, 'tag' =>  $term->slug, 'post_type' => 'album');
    $myposts = get_posts( $args );
    if (count($myposts) > 0){
        echo "<li>" .$term->name . "<ul>";
        foreach( $myposts as $post ){ 
            setup_postdata($post); 
            echo '<li><a href="'.the_permalink(); .'">'.the_title().'</a></li>';
        }
        echo "</ul></li>";
    }
}
echo "</ul>";
$post = $tmp_post;